1,ssh的理解:
2、代码
def redis():
# 使用SSHTunnelForwarder隧道,通过跳板机链接Redis
with SSHTunnelForwarder(
ssh_username='ssh的账号',
ssh_password='ssh的密码',
ssh_address_or_host=('ssh的ip地址', ssh的ip端口号),
local_bind_address=('localhost', 6379),
remote_bind_address=('redis的ip', 6379)
) as server:
print(server.local_bind_port)
# 本地通过local_bind_port端口转发,利用跳板机,链接Redis服务
red = redis.Redis(host="localhost", port=server.local_bind_port, password="redis的登录密码", db=0)
# 关闭隧道
server.close()
return red
3、如果用上面代码,ssh会陷入多线程而无法退出,因此我们需要把ssh设置为守护线程
server.daemon_forward_servers=True 4、代码如下
server = SSHTunnelForwarder( ssh_username='jianghui',