如何从 Google Compute Engine 访问外部 SFTP

How to access an external SFTP from Google Compute Engine

我正在 GCE 上使用 python 设置一个进程,该进程必须连接到我的本地 SFTP 并从那里复制文件。

我正在使用 pysftp,但出现了 SSH 问题。我做错了什么?

>>> import pysftp    
>>> sftp = pysftp.Connection(host, username=user, password=pasw)

Exception AttributeError: "'Connection' object has no attribute '_sftp_live'" in <bound method Connection.__del_
_ of <pysftp.Connection object at 0x7feaa86c5b90>> ignored
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/lib/python2.7/dist-packages/pysftp/__init__.py", line 132, in __init__
    self._tconnect['hostkey'] = self._cnopts.get_hostkey(host)
  File "/usr/local/lib/python2.7/dist-packages/pysftp/__init__.py", line 71, in get_hostkey
    raise SSHException("No hostkey for host %s found." % host)
paramiko.ssh_exception.SSHException: No hostkey for host sftp.mynet.com found.

手动将 SSH 密钥添加到 known_hosts 成功了。

$ ssh sftp.mydomain.com

如果有人 post 提供 pysftp 自动执行此操作的解决方案,我们将不胜感激