1. 程式人生 > >python ssh2遠端登入節點並執行命令

python ssh2遠端登入節點並執行命令

#!/usr/bin/python
"""
SSH connect to remote machines and then execute what
you need command
"""
import paramiko # import paramiko && help(paramiko) || pydoc paramiko
import threading

#debug = True

#class SSHClass(objiect):
#    "class"

def pyssh2(ip, username, passwd, cmd):
    try:
        ssh = paramiko.SSHClient()
        ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
        ssh.connect(ip, 22, username, passwd, timeout=5)
        for m in cmd:
            stdin, stdout, stderr = ssh.exec_command(m)
#            stdin.write("Y")   #simple interaction, default input 'Y'
            out = stdout.readlines()
            #output to screen    
            for o in out:
                print o,
            print '%s\tOK\n' % (ip),
            ssh.close()
    except Exception, e:
        print 'ERR: can not find remote host %s' % (ip), e

if __name__=='__main__':
    cmd = ['hostname']#need to execute cmd
    username = "root"#username
    passwd = "123123"    #password
    threads = []   #multi thread
    print "Prompt:begin to connect remote machines......"
    for i in range(150,156):
          ip = '10.100.1.'+str(i)
          a=threading.Thread(target=pyssh2,args=(ip,username,passwd,cmd)) #used default arguments
#          __init__(self, group=None, target=None, name=None, args=(), kwargs=None, verbose=None)
#          a=threading.Thread()
#          a.__init__(group=None, target=pyssh, name=None, args=(ip,username,passwd,cmd),
#                 kwargs=None, verbose=None)
          a.start()

相關推薦

python ssh2遠端登入節點執行命令

#!/usr/bin/python """ SSH connect to remote machines and then execute what you need command """ import paramiko # import paramiko &

JAVA利用SSH2登入LINUX執行命令

import ch.ethz.ssh2.Connection; import ch.ethz.ssh2.Session; import ch.ethz.ssh2.StreamGobbler; import cn.com.bsfit.frms.portal.util.Remo

專案總結(三)----------Python實現SSH遠端登陸,執行命令

在自動化測試過程中,比較常用的操作就是對遠端主機進行操作,如何操作呢?使用SSH遠端登陸到主機,然後執行相應的command即可。 使用Python來實現這些操作就相當簡單了。下面是測試code。

Java使用SSH遠端訪問Windows執行命令

轉載至:http://blog.csdn.net/carolzhang8406/article/details/6760430 windows由於沒有預設的ssh server,因此在允許ssh之前需要先安裝ssh server。 下載freeSSHd http://ww

Java實現遠端連線Linux執行命令

需要的jar包 <dependency> <groupId>ch.ethz.ganymed</groupId> <artifactId>ganymed-ssh2</art

Python實現ssh批量登入執行命令

區域網內有一百多臺電腦,全部都是linux作業系統,所有電腦配置相同,系統完全相同(包括使用者名稱和密碼),ip地址是自動分配的。現在有個任務是在這些電腦上執行某些命令,者說進行某些操作,比如安裝某些軟體,拷貝某些檔案,批量關機等。如果一臺一臺得手工去操作,費時又費力,

python遠端連線linux,返回命令結果

# -*- coding: utf-8 -*- #Author Mr.xu from ftplib import FTP import datetime import paramiko hostip = '192.168.18.111' user = 'root' passwd = 'root'

自動化 遠端登陸linux伺服器執行命令 —— expect

Linux伺服器A登陸Linux伺服器B 伺服器A上需要先安裝expect。 test.exp #!/usr/bin/expect -f // expect安裝目錄 set timeout 10 set username [lindex $argv 0] //

python ssh 連線交換機執行命令輸出結果

# encoding=utf-8 import paramiko import time client = paramiko.SSHClient() client.load_system_host_keys() # connect to client client.conn

ssh登陸執行命令不退出

div bin rouge user 執行 登陸 data code nbsp 如果希望SSH登陸後先執行shell命令,可以這樣: ssh user@ip -t "cd /data ; /bin/bash" ssh登陸並執行命令不退出

命令遠程連接ssh執行命令

遠程連接ssh eof echo 寫法 nbsp ech expec passwd 命令 環境: redhat 6.5 網上測試了很多寫法都不成功,測試了很久才有了一下腳本。 命令遠程連接ssh並執行命令,scp/ftp等遠程連接操作同理 #!/usr/bin/expect

Mac 安裝 MySQL 5.7 後登入後無法執行命令【You must reset your password using ALTER USER statement before executing this statement.】

question 服務 com flow alter ima 5.7 use sql 今天在 Mac 上安裝了 MySQL 5.7 ,啟動服務後,輸入 mysql -u root -p 後,輸入初始密碼程,嘗試執行 show databases; 報了一個 You mu

plink和pscp命令使用(登錄linux執行命令/linux和Windows服務器文件互拷)

htm putty -s ofo cin bat文件 windows 是把 use 1. 使用Putty提供的plink.exe來自動登陸一個機器並執行命令,完成後自己關閉 bat文件內容如下: D:\Download\Software\Putty-0.60\pli

用CRT自動連線裝置 執行命令 儲存日誌檔案

       步驟一:新增要自動連線的IP  如圖1  步驟二:選單欄 -》指令碼 -》開始錄製  -》錄製你的操作記錄  也就是你以後固定的操作 步驟三:圖一下面的 編輯選項  點選  &n

用CRT自動連接設備 執行命令 保存日誌文件

.com 開始 alt 測試 nbsp src 分享圖片 是你 ima 步驟一:添加要自動連接的IP 如圖1 步驟二:菜單欄 -》腳本 -》開始錄制 -》錄制你的操作記錄 也就是你以後固定的操作 步驟三:圖一下面的 編輯選項 點擊 選擇登陸

Linux CentOS 7.*允許或禁止root使用者ssh遠端登入將22埠更新為11111

1)vim /etc/ssh/sshd_config,將PermitRootLogin的值改成no,並儲存 PermitRootLogin yes更改為no  重啟ssh  systemctl restart sshd 禁止登入了, 否則就能登入 &nbs

Linux命令遠端登入伺服器複製檔案命令--scp

scp scp就是Secure Copy的縮寫,是在Linux下遠端複製檔案的命令 命令格式和ssh基本相同,唯一不同的指定埠是大寫的-P而ssh是小寫的-p 下面用Ubuntu和Red Het兩個

Ubuntu開機自啟ROS節點執行命令

Ubuntu開機自啟ROS節點或執行命令 自己搭的機器人想讓它每次開機自動啟動相關節點? 介紹兩種方法. 1. 讓Ubuntu開機自動登入tty終端 先確保安裝了mingetty: sudo apt-get install mingetty 然後開啟ttyn配置檔案,

ubuntu16.04下使用python3:paramiko庫批量遠端傳檔案;執行命令

#!/usr/bin/env python3 -- coding:utf-8 -- import paramiko,fileinput def scp_ssh(ip,mypath,topath): t = paramiko.Transport((ip,22))

Python實現遠端mysql連線進行簡單資料庫操作

1.linux伺服器 安裝mysql: apt-get install mysql-server #Root使用者安裝mysql以及相關服務  apt-get install mysql-client  apt-get install libmysqlclient-dev