使用Boto如何使用代理服务器连接到SSH客户端?

时间:2013-10-22 07:31:42

标签: python-2.7 fabric boto paramiko

我不是直接连接到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)

给了我   在start_client中的文件“C:\ Python27 \ lib \ site-packages \ paramiko \ transport.py”,第465行     提高e paramiko.SSHException:读取SSH协议标题时出错

我在stackoverflow中提到了这个链接 Paramiko Error: Error reading SSH protocol banner 他们在哪里说

答案是

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

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

我在这里做错了什么,或者我怎么能解决这个问题。

1 个答案:

答案 0 :(得分:2)

Fabric自版本1.5 documented here以来默认提供此选项。如果您无法使用Fabric,那么您可能会从它的来源中获得更好的解决方案。