0

我必须使用代理服务器连接然后连接到 ssh 客户端,而不是直接连接到 SSH 客户端?

我尝试了以下方法: 在 Boto\manage\cmdshell.py 我做了以下更改

  while retry < 5:
            try:print "connecting ssh client"
                proxy = paramiko.ProxyCommand('connect-proxy -S my_proxy_IP:8080')      
                self._ssh_client.connect(self.server.hostname,
                                         username=self.uname,
                                         pkey=self._pkey,sock=proxy)

这给了我文件“C:\Python27\lib\site-packages\paramiko\transport.py”,第 465 行,在 start_client 中引发 e paramiko.SSHException:读取 SSH 协议横幅时出错

我在 stackoverflow Paramiko 错误中引用了这个链接:读取 他们所说的SSH 协议横幅时出错

答案是

这个问题不在于 Paramiko、Fabric 或 SSH 守护程序。它只是 ISP 内部网络中的防火墙配置。出于某种原因,它们不允许在它们的不同子网之间进行通信。我们无法真正修复防火墙配置,因此我们将所有 IP 切换到同一子网。

但在我的情况下,我的主机是 amazonaws 实例,在这种情况下我应该怎么做。

我在这里做错了什么,或者我该如何克服这个问题。

4

1 回答 1

2

Fabric 自 1.5 版起默认提供此选项,记录在此处。如果您无法使用 Fabric,那么您可能会从它的源代码中为自己寻找更好的解决方案。

于 2014-01-14T21:01:12.040 回答