paramiko:从自定义模块调用ssh shell

时间:2014-11-12 04:53:55

标签: python ssh paramiko

我想知道是否有办法从一个程序(导入为python模块)传递通道对象以在另一个程序中使用。例如 - 我有以下程序,我使用c = Connect(host,user,pwd)导入到另一个程序,然后在此调用ssh shell。

Connect.py:

#!/usr/bin/python

import paramiko
import logging
import time

class Connect:
    def __init__(self,host,user,pwd):

        self.host = host
        self.user = user
        self.pwd = pwd
        port = 22   
        logfile = 'log.txt'
        logging.basicConfig(filename=logfile,level=logging.INFO)

        try:
            self.ssh = paramiko.SSHClient()
            self.ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
            self.ssh.connect(host,port,username=self.user,password=self.pwd,allow_agent=False,look_for_keys=False)
            logging.info('Connected to %r host' % host)
        except Exception as e:
            logging.info('Exception caught : %r' % str(e))

1 个答案:

答案 0 :(得分:0)

好的,这很简单......

chan = c.ssh.invoke_shell()

这样做了。现在我不再需要在我的程序中编写Connect相关脚本了。