来一个python的linux系统ssh远程跳转到其他机器的代码
时间: 2023-03-03 18:47:54 浏览: 74
可以使用Paramiko模块来实现Python的Linux系统ssh远程跳转到其他机器的代码。以下是一个示例代码:
```python
import paramiko
# 创建SSH客户端
client = paramiko.SSHClient()
# 自动添加主机密钥
client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
# 连接跳转机
client.connect('jump_host_ip', username='your_username', password='your_password')
# 创建SSH隧道
transport = client.get_transport()
dest_addr = ('dest_host_ip', 22) # 目标主机IP和端口
local_addr = ('localhost', 10022) # 本地端口
channel = transport.open_channel('direct-tcpip', dest_addr, local_addr)
# 连接目标主机
second_client = paramiko.SSHClient()
second_client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
second_client.connect('localhost', username='your_username', password='your_password', sock=channel)
# 在目标主机上执行命令
stdin, stdout, stderr = second_client.exec_command('ls')
print(stdout.read().decode())
# 关闭连接
second_client.close()
client.close()
```
在上面的示例代码中,使用`paramiko`模块连接跳转机和目标主机,通过创建SSH隧道将本地端口转发到目标主机的端口,然后在目标主机上执行命令。需要将示例代码中的`jump_host_ip`、`dest_host_ip`、`your_username`和`your_password`替换为实际的值。