使用 Paramiko 或其他 Python 库通过 SSH 跳转服务器远程登录网络设备

Posted

技术标签:

【中文标题】使用 Paramiko 或其他 Python 库通过 SSH 跳转服务器远程登录网络设备【英文标题】:Telnet network device via SSH jump server using Paramiko or another Python library 【发布时间】:2021-09-05 21:25:51 【问题描述】:

如何使用 paramiko 或任何其他库通过跳转服务器 (SSH) 远程登录网络设备

我能够通过 SSH 跳转服务器并能够通过它 SSH 其他设备。但是需要从 jumpserver telnet 的解决方案。

【问题讨论】:

【参考方案1】:

使用 SSH 端口转发。

修改Nested SSH using Python Paramiko的代码为telnet,得到如下代码:

# establish SSH tunnel
self.ssh = paramiko.SSHClient()
# ...
self.ssh.connect(hostname=ssh_host, username=ssh_user, password=ssh_password)

transport = ssh_client.get_transport()
dest_addr = (telnet_host, telnet_port)
local_unique_port = 4000 # any unused local port
local_host = 'localhost'
local_addr = (local_host, local_unique_port)
vmchannel = vmtransport.open_channel("direct-tcpip", dest_addr, local_addr)

tn = telnetlib.Telnet(local_host, local_unique_port)

【讨论】:

以上是关于使用 Paramiko 或其他 Python 库通过 SSH 跳转服务器远程登录网络设备的主要内容,如果未能解决你的问题,请参考以下文章

使用 ppk 文件上传 Paramiko sftp [重复]

Python 之Paramiko模块

python之paramiko模块

python第三方模块之paramiko模块

Python3之paramiko模块

python中paramiko模块的使用