私は Paramiko の仕組みにかなり慣れていませんが、私の主な目的は、Python を使用して SSH 経由で自動化されたコマンドを実行できるようにすることです。
次のコードがあり、最初に簡単なls
コマンドを実行しようとしていますが、何らかの奇妙な理由でコードがスタックしているように見え、出力やエラー メッセージが生成されません。
import sys
import paramiko as pm
sys.stderr = sys.__stderr__
import os
class AllowAllKeys(pm.MissingHostKeyPolicy):
def missing_host_key(self, client, hostname, key):
return
HOST = '192.168.31.1'
USER = 'admin'
PASSWORD = 'admin'
client = pm.SSHClient()
client.load_system_host_keys()
client.set_missing_host_key_policy(pm.AutoAddPolicy())
client.connect(HOST, username=USER, password=PASSWORD)
channel = client.invoke_shell()
stdin = channel.makefile('wb')
stdout = channel.makefile('rb')
stdin.write('''
ls
exit
''')
print stdout.read()
stdout.close()
stdin.close()
どんな助けでも大歓迎です:)