pysftp を使用してプログラムを作成しており、SSH ホスト キーを に対して検証したいと考えていC:\Users\JohnCalvin\.ssh\known_hosts
ます。
PuTTY を使用して、端末プログラムはそれを Registry に保存してい[HKEY_CURRENT_USER\Software\SimonTatham\PuTTY\SshHostKeys]
ます。
pysftp と PuTTY の違いを調整するにはどうすればよいですか?
私のコードは次のとおりです。
import pysftp as sftp
def push_file_to_server():
s = sftp.Connection(host='138.99.99.129', username='root', password='*********')
local_path = "testme.txt"
remote_path = "/home/testme.txt"
s.put(local_path, remote_path)
s.close()
push_file_to_server()
私が受け取っているエラー応答は次のとおりです。
E:\Program Files (x86)\Anaconda3\lib\site-packages\pysftp__init__.py:61: UserWarning:
C:\Users\JohnCalvin.ssh\known_hosts からホストキーを読み込めませんでした。
HostKeys (cnopts.hostkeys.load(filename)) を明示的にロードするか、HostKey チェックを無効にする (cnopts.hostkeys = None) 必要があります。warnings.warn(wmsg, UserWarning) トレースバック (最新の呼び出しが最後): ファイル "E:\OneDrive\Python\GIT\DigitalCloud\pysftp_tutorial.py"、14 行目、push_file_to_server() ファイル "E:\OneDrive\Python\ GIT\DigitalCloud\pysftp_tutorial.py"、7 行目、push_file_to_server s = sftp.Connection(host='138.99.99.129', username='root', password='********') File "E :\Program Files (x86)\Anaconda3\lib\site-packages\pysftp__init__.py"、132 行目、 init内 self._tconnect['hostkey'] = self._cnopts.get_hostkey(host) ファイル "E:\Program Files (x86)\Anaconda3\lib\site-packages\pysftp__init__.py"、71 行目、get_hostkey で SSHException("ホスト %s のホストキーが見つかりません。" % host) paramiko.ssh_exception.SSHException: ホスト 138.99.99.129 のホストキーが見つかりません。無視される例外: > トレースバック (最新の呼び出しが最後): ファイル "E:\Program Files (x86)\Anaconda3\lib\site-packages\pysftp__init__.py"、1013 行目、 del self.close() ファイル "E :\Program Files (x86)\Anaconda3\lib\site-packages\pysftp__init__.py", line 784, in close if self._sftp_live: AttributeError: 'Connection' object has no attribute '_sftp_live'