Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
paramiko.ssh_exception.SSHException:TCP转发请求被拒绝_Ssh_Paramiko - Fatal编程技术网

paramiko.ssh_exception.SSHException:TCP转发请求被拒绝

paramiko.ssh_exception.SSHException:TCP转发请求被拒绝,ssh,paramiko,Ssh,Paramiko,我正在使用paramiko的rforward.py演示脚本,它演示了反向SSH隧道是如何工作的。代码包含以下行: 传输。请求\u端口\u转发(“”,服务器\u端口) 运行此代码时,出现以下错误: Traceback (most recent call last): File "C:\Users\Name\Documents\bh_python\rforward.py", line 167, in <modul e> main() File "C:\Users\Name

我正在使用paramiko的rforward.py演示脚本,它演示了反向SSH隧道是如何工作的。代码包含以下行:
传输。请求\u端口\u转发(“”,服务器\u端口)

运行此代码时,出现以下错误:

Traceback (most recent call last):
  File "C:\Users\Name\Documents\bh_python\rforward.py", line 167, in <modul
e>
    main()
  File "C:\Users\Name\Documents\bh_python\rforward.py", line 160, in main
    reverse_forward_tunnel(options.port, remote[0], remote[1], client.get_transp
ort())
  File "C:\Users\Name\Documents\bh_python\rforward.py", line 73, in reverse
_forward_tunnel
    transport.request_port_forward('', server_port)
  File "build\bdist.win32\egg\paramiko\transport.py", line 775, in request_port_
forward
paramiko.ssh_exception.SSHException: TCP forwarding request denied

我的系统似乎拒绝了端口转发请求。我如何验证这一点并解决问题?我正在Windows 7上运行。

听起来好像服务器上有什么东西被阻止了。虽然我对Windows不是很熟悉,但我相信应该可以安装一个SSH命令行客户机,并尝试使用SSH客户机复制您正在使用Paramiko进行的操作。如果它与SSH客户机一起工作,您就知道代码有问题。否则,您会遇到服务器配置问题。

我刚刚遇到这种情况,通常情况下,如果您尝试向前移植的机器不希望您转发它正在转发的端口,您会遇到这种错误

  • 它可能是您正在转发的计算机上的保留端口(即<1024)
  • 它可能是一个已经在侦听的端口(您是否有另一个正在运行的程序实例,如果您可以在服务器上获得
    netstat-an
    ,您可能会在那里看到该端口)
  • 您可以使用selinux(或其他安全)策略阻止您作为用户登录的用户
  • 帕拉米科阻止我的原因与我提出的这三个完全不同。paramiko文档中的代码非常好,但是需要一些改进来处理错误

    您可能应该处理该错误,如果第一次不起作用,请稍后再试

    def request_port_forward(self, address, port, handler=None):
            if not self.active:
                raise SSHException('SSH session not active')
            port = int(port)
            response = self.global_request('tcpip-forward', (address, port), wait=True)
            if response is None:
                raise SSHException('TCP forwarding request denied')
            if port == 0:
                port = response.get_int()
            if handler is None:
                def default_handler(channel, src_addr, dest_addr_port):
                    #src_addr, src_port = src_addr_port
                    #dest_addr, dest_port = dest_addr_port
                    self._queue_incoming_channel(channel)
                handler = default_handler
            self._tcp_handler = handler
            return port`