码迷,mamicode.com
首页 > 编程语言 > 详细

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

时间:2018-07-12 16:15:42      阅读:420      评论:0      收藏:0      [点我收藏+]

标签:服务器   man   登陆   detail   for   passwd   def   执行命令   屏幕   

单台登录:

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命令

标签:服务器   man   登陆   detail   for   passwd   def   执行命令   屏幕   

原文地址:http://blog.51cto.com/weiruoyu/2140919

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!