Pythonを使用してファイルをsftpしようとしていますが、コードはインタラクティブシェルでうまく機能し、一度に貼り付けることもできます。
ファイルをインポートしようとすると(コンパイルするためだけに)、例外や明らかなエラーなしでコードがハングします。
コードをコンパイルするにはどうすればよいですか、または他の方法でsftpを実行するコードが機能している人はいますか?
このコードは、ssh.connect()ステートメントですぐにハングします。
"" "ProblemDemo.py
paramikoデモファイルから切り刻まれました。
このコードはシェルで機能しますが、インポートしようとするとハングします。
"" "
時間からインポートスリープ
OSのインポート
paramikoをインポートします
sOutputFilename = "redacted.htm"#-ペイロードファイル
hostname = "redacted.com"
#### - 警告!埋め込まれたパスワード!できるだけ早く削除します。
sUsername="編集済み"
sPassword="編集済み"
sTargetDir="編集済み"
#-ホストキーがわかっている場合は、それを取得します。
hostkeytype=なし
ホストキー=なし
host_keys = {}
試す:
host_keys = paramiko.util.load_host_keys(os.path.expanduser('〜/ .ssh / known_hosts'))
IOErrorを除く:
試す:
#Windowsは〜/ .ssh /という名前のフォルダを持つことができないため、〜/ssh/も試してください
host_keys = paramiko.util.load_host_keys(os.path.expanduser('〜/ ssh / known_hosts'))
IOErrorを除く:
print'***ホストキーファイルを開くことができません'
host_keys = {}
host_keys.has_key(hostname)の場合:
hostkeytype = host_keys [hostname] .keys()[0]
hostkey = host_keys [hostname] [hostkeytype]
print'タイプ%sのホストキーを使用'%hostkeytype
ssh = paramiko.Transport((hostname、22))
ssh.connect(username = sUsername、password = sPassword、hostkey = hostname)
sftp = paramiko.SFTPClient.from_transport(ssh)
sftp.chdir(sTargetDir)
sftp.put(sOutputFilename、sOutputFilename)
ssh.close()