使用python自动执行ssh命令。 OBS。需要双重登录

时间:2018-03-20 17:50:47

标签: python ssh paramiko

所以,我的大学有一个我想要使用的集群。但是,要访问它,我需要首先登录大学的ssh服务器,然后通过它再次使用ssh登录集群。所以,我的代码看起来像这样:

    def login():
        import paramiko
        ssh = paramiko.SSHClient()
        ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
        ssh.connect('cupido.iqm.unicamp.br', port=22, username='gabriel', password='*********')

其中,cupido.iqm.unicamp.br是我首先需要访问的主机才能通过ssh登录集群。

这很好用。所以我尝试使用以下函数登录集群:

    def kahuna():
        login()
        ssh.connect('kahuna.iqm.unicamp.br', username='gabrielcesar', password='*********')
        stdin, stdout, stderr = ssh.exec_command('ls')
        output=stdout.readlines()
        print '\n'.join(output)

在这里它变得十分可爱。对我来说,首先使用上一个函数登录然后再次使用ssh.connect就像我之前一样。但是我收到以下错误(在评论中)

总之,有没有办法在ssh中通过python执行双重登录?

0 个答案:

没有答案