python如何使用jumpssh连接无密码

时间:2019-03-03 12:32:23

标签: python ssh

我正在尝试通过python脚本对host1进行SSH,然后从那里将SSH跳转到host2。 可以使用带有以下代码的jumpssh来实现:

>>> from jumpssh import SSHSession

# establish ssh connection between your local machine and the jump server
>>> gateway_session = SSHSession('gateway.example.com',
...                              'my_user_1', password='my_password_1').open()

# from jump server, establish connection with a remote server
>>> remote_session = gateway_session.get_remote_session('remote.example.com', 'my_user_2', password='my_password_2')

现在,我在这里使用密码连接到remote.example.com

我找不到方法,一旦我们进入主机名remote.example.com

,我们就可以通过简单的ssh remote.example.com命令通过密码连接到gateway.example.com

当我使用jumpssh传递命令:ssh gateway.example.com时,出现错误:

  

身份验证失败,需要用户名和密码

或者Python中的任何其他模块都有可能吗?

1 个答案:

答案 0 :(得分:0)

通常,ssh需要某种形式的身份验证,即证书(密钥)或名称/密码 根据{{​​3}},您可以使用private_key_file作为参数之一,默认为~/.ssh/
如果不确定什么证书,则应该api reference,但是简而言之,您将需要创建一个证书(密钥)对,将公用的一对放在要连接的服务器上,将公用的一对放在服务器上。 ~/.ssh/中输入,或使用jumpssh参数将位置传递到private_key_file