在远程服务器上运行多个ssh会话

0ve6wy6x  于 2021-08-20  发布在  Java
关注(0)|答案(1)|浏览(568)

我试图在连接到跳转服务器后运行多个ssh会话,但是在第10个ip之后,我遇到了超时错误。我需要重新启动ssh会话吗?它不会超过2.44.12.13 ip。

  1. import socket
  2. import paramiko
  3. from jumpssh import SSHSession
  4. # connect to jump server
  5. ssh = paramiko.SSHClient()
  6. gatewaysess=
  7. SSHSession(host="105.111.156.15",username="user",password="Test").open()
  8. print(gatewaysess.is_active())
  9. list = ["8.40.12.11", "9.40.12.11","9.40.12.18","10.42.12.24",
  10. "7.40.12.11","5.40.12.9","6.40.12.8",
  11. "8.42.12.1","7.42.12.8","2.44.12.13","1.44.12.38","8.44.12.35","2.40.12.99",
  12. "2.40.12.19","3.40.12.20"]
  13. for i in list:
  14. if i == "2.44.12.13":
  15. remoteses.close()
  16. remoteses.open()
  17. remoteses = gatewaysess.get_remote_session(i, username="user",
  18. password="test", look_for_keys=False)
  19. remoteses.is_active())
im9ewurl

im9ewurl1#

最简单、最可靠(虽然不是最有效)的方法是将网关连接移动到环路中。
类似这样(未经测试):

  1. list = ["8.40.12.11", "9.40.12.11","9.40.12.18","10.42.12.24",
  2. "7.40.12.11","5.40.12.9","6.40.12.8",
  3. "8.42.12.1","7.42.12.8","2.44.12.13","1.44.12.38","8.44.12.35","2.40.12.99",
  4. "2.40.12.19","3.40.12.20"]
  5. for i in list:
  6. with SSHSession(host="105.111.156.15",username="user",password="Test") as gatewaysess:
  7. gatewaysess.open()
  8. print(gatewaysess.is_active())
  9. with gatewaysess.get_remote_session(i, username="user", password="test", look_for_keys=False) as remoteses:
  10. print(remoteses.is_active())

相关问题