python ssh登陆模块_使用python的Paramiko模块登陆SSH
paramiko是用Python語言寫的一個模塊,遵循SSH2協議,支持以加密和認證的方式,進行遠程服務器的連接。
python的paramiko模塊可以方便的實現ssh登錄,并執行命令。
1. paramiko模塊安裝
1.1安裝pycrypto庫
pycrypto庫安裝方法
python setup.py build && python setup.py install
1.2安裝paramiko
python setup.py build && python setup.py install
2.簡單使用
2.1 執行遠程命令
#!/usr/bin/python
import paramiko
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect("某IP地址",22,"用戶名", "口令")
stdin, stdout, stderr = ssh.exec_command("你的命令")
print stdout.readlines()
ssh.close()
2.2 上傳文件到遠程
#!/usr/bin/python
import paramiko
t = paramiko.Transport(("某IP地址",22))
t.connect(username = "用戶名", password = "口令")
sftp = paramiko.SFTPClient.from_transport(t)
remotepath='/tmp/test.txt'
localpath='/tmp/test.txt'
sftp.put(localpath,remotepath)
t.close()
2.3 上傳文件到遠程
#!/usr/bin/python
import paramiko
t = paramiko.Transport(("某IP地址",22))
t.connect(username = "用戶名", password = "口令")
sftp = paramiko.SFTPClient.from_transport(t)
remotepath='/tmp/test.txt'
localpath='/tmp/test.txt'
sftp.get(remotepath, localpath)
t.close()
3.高級用法
通常需要對多個服務器或者虛擬機進行管理,可以采用批量的方式進行。
#-*- coding: utf-8 -*-
#!/usr/bin/python
import paramiko
import threading
def ssh2(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)
out = stdout.readlines()
for o in out:
print o, #屏幕輸出
print '%s\tOK\n'%(ip)
ssh.close()
except :
print '%s\tError\n'%(ip)
if __name__=='__main__':
cmd = ['echo hello!']#需要執行的命令列表
username = "root" #用戶名
passwd = "root" #密碼
threads = [] #多線程
print "Begin excute......"
for i in range(1,254):
ip = '192.168.1.'+str(i)
a=threading.Thread(target=ssh2,args=(ip,username,passwd,cmd))
a.start()
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的python ssh登陆模块_使用python的Paramiko模块登陆SSH的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 动物识别专家系统python_Pytho
- 下一篇: 三星 Galaxy S23 系列售价曝光