linux使用Python上ssh远程执

发布时间:2019-08-27 08:03:04编辑:auto阅读(1371)

    单台登录:

    import paramiko
    
    ssh = paramiko.SSHClient()
    key = paramiko.AutoAddPolicy()
    ssh.set_missing_host_key_policy(key)
    ssh.connect('127.0.0.1', 22, 'user', 'passwd' ,timeout=5)
    stdin, stdout, stderr = ssh.exec_command('ls -l')
    
    for i in stdout.readlines():
        print(i)

    for i in stdout.readlines():
    print(i)
    这两段是输出屏幕命令。

    如果已经添加免秘钥登录,把passwd留空即可。
    下面是多台服务器登录:

    #!/usr/bin/python
    # -*- coding: utf-8 -*-
    
    import time,shutil,os
    import paramiko
    
    appname = "root"
    ssh = paramiko.SSHClient()
    key = paramiko.AutoAddPolicy()
    ssh.set_missing_host_key_policy(key)
    
    uptime = time.strftime("%Y%m%d")
    warpath="/var/tmp/cslc/aw/update/"+uptime+"/aw.war"
    
    def update_all_aw():
        for line in open("awip.conf"):
            print line
            ssh.connect(line, 22, appname, '' ,timeout=5)
            stdin, stdout, stderr = ssh.exec_command('python /var/tmp/awpy/createcopy.py')
            for i in stdout.readlines():
                print(i)
            print("+++++++下一个++++++")
        return
    

    awip.conf文件防止多台IP地址即可。

    参考:
    Pythonssh远程执行shell命令
    Python调用paramiko模块实现远程管理多台服务器
    Python实现SSH远程登陆,并执行命令!
    Python实现SSH远程登陆,并执行命令!

关键字