Python利用SSH隧道访问容器资源

Python利用SSH隧道访问容器资源

1
2
3
4
5
6
7
8
9
10
11
12
13
from sshtunnel import SSHTunnelForwarder

def get_ssh_tunnel():
server = SSHTunnelForwarder(
ssh_address_or_host=('192.168.1.2', 22),
ssh_username='username',
ssh_password='ssh-password',
remote_bind_address=('10.16.3.3', 3306),
local_bind_address=('0.0.0.0', 3306)
)
server.start()

return server

参数含义:

ssh_address_or_host : 跳板机的 IP 和 Port ssh_username : 登录跳板机时使用的账户名称 ssh_password : 登录跳板机时使用的密码 remote_bind_address : 本地机器要访问的目标机器的IP(如果目标机器就是跳板机自己,则是 127.0.0.1)和 Port local_bind_address : SSH 隧道监听的本地机器的 IP(可以是 0.0.0.0 监听所有IP,也可以选择指定的网口) 和 Port

修改ssh设置允许端口转发

修改 /etc/ssh/sshd_config 文件中的 AllowTcpForwarding 为yes

参考

  • https://blog.csdn.net/fengbohello/article/details/121181959
  • https://blog.csdn.net/qq_45373631/article/details/121805726