我正在尝试通过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中的任何其他模块都有可能吗?
答案 0 :(得分:0)
通常,ssh需要某种形式的身份验证,即证书(密钥)或名称/密码
根据{{3}},您可以使用private_key_file
作为参数之一,默认为~/.ssh/
如果不确定什么证书,则应该api reference,但是简而言之,您将需要创建一个证书(密钥)对,将公用的一对放在要连接的服务器上,将公用的一对放在服务器上。 ~/.ssh/
中输入,或使用jumpssh
参数将位置传递到private_key_file