linux使用Python上ssh远程执行shell命令

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux使用Python上ssh远程执行shell命令相关的知识,希望对你有一定的参考价值。

单台登录:

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远程登陆,并执行命令!

以上是关于linux使用Python上ssh远程执行shell命令的主要内容,如果未能解决你的问题,请参考以下文章

如何使用python执行远程shell脚本

python 模拟 ssh 执行远程命令

linux怎么远程执行另一台linux机器上的shell文件?

再见XshellXftp!Python执行Linux命令上传下载远程文件

再见XshellXftp!Python执行Linux命令上传下载远程文件

再见XshellXftp!Python执行Linux命令上传下载远程文件