Я пытаюсь подключиться к серверу по ssh, а затем смонтировать рабочее пространство с помощью sshfs на сервере с помощью paramiko.
Код у меня есть:
import sys
sys.stderr = open('/dev/null')
import paramiko as pm
sys.stderr = sys.__stderr__
import os
class AllowAllKeys(pm.MissingHostKeyPolicy):
def missing_host_key(self, client, hostname, key):
return
HOST = '172.29.121.238'
USER = 'root'
PASSWORD = 'test'
client = pm.SSHClient()
client.load_system_host_keys()
client.load_host_keys(os.path.expanduser('~/.ssh/known_hosts'))
client.set_missing_host_key_policy(AllowAllKeys())
client.connect(HOST,username=USER,password=PASSWORD)
stdin,stdout,stderr = client.exec_command('sshfs username@server:/source_path /destination_path')
Если я сделаю это вручную, у меня спросят пароль от имени пользователя на сервере.
Однако здесь я ничего не получаю от stdout:
>>> stdout.read()
b''
От stderr я получаю сброс соединения одноранговым узлом
>>> stderr.read()
b'read: Connection reset by peer\n'
Но после этого, если я сделаю "pwd", все заработает. Если я сделаю "cd /", это не сработает.
Кто-нибудь может мне здесь помочь?
Спасибо