一 paramiko簡介
下文是我從別人博客那里copy下來的:
paramiko是用python語言寫的一個模塊,遵循SSH2協議,支持以加密和認證的方式,進行遠程服務器的連接。
由于使用的是python這樣的能夠跨平臺運行的語言,所以所有python支持的平臺,如Linux, Solaris, BSD, MacOS
X, Windows等,paramiko都可以支持,因此,如果需要使用SSH從一個平臺連接到另外一個平臺,進行一系列的操作時,paramiko是最佳工具之一。
簡單來說,paramiko就是用來建立ssh通訊的。
二 安裝paramiko
一開始我使用linuxmint的軟件源安裝的,之后的程序出現了傳參數錯誤,事實證明這是個大坑,必須要通過編譯的方式安裝。
1、paramiko的下載地址是https://github.com/paramiko/paramiko/releases,下載最新版本
2、用sudo apt-get –purge remove python-paramiko徹底清除舊版本的paramiko,沒安裝過舊版的童鞋跳過此步驟
3、進入解壓好的paramiko路徑并使用sudo python setup.py install來安裝paramiko
三 paramiko的使用方法
client = SSHClient() #創建ssh客戶端對象 client.load_system_host_keys() #從系統文件里加載密鑰 client.set_missing_host_key_policy(paramiko.AutoAddPolicy()) #設置沒有密鑰 client.connect('ssh.example.com') #連接到指定服務器 stdin, stdout, stderr = client.exec_command('ls -l') #執行命令
四 簡單的ssh通訊腳本
#!/usr/bin/env python import paramiko import sys,os host = sys.argv[1] user = 'root' password = 'XXXXXX' cmd=sys.argv[2] s=paramiko.SSHClient() s.load_system_host_keys() s.set_missing_host_key_policy(paramiko.AutoAddPolicy()) s.connect(host,22,user,password,timeout=5) stdin,stdout,stderr = s.exec_command(cmd) cmd_result = stdout.read(),stderr.read() for line in cmd_result: print line s.close()
五 執行腳本
$ python ssh.py 172.18.55.2 df Filesystem 1K-blocks Used Available Use% Mounted on udev 1956012 0 1956012 0% /dev tmpfs 395484 6612 388872 2% /run /dev/sda2 19091584 10027836 8070880 56% / tmpfs 1977412 42968 1934444 3% /dev/shm tmpfs 5120 4 5116 1% /run/lock tmpfs 1977412 0 1977412 0% /sys/fs/cgroup tmpfs 262144 16240 245904 7% /tmp /dev/sda1 94371836 46849248 47522588 50% /media/sda1 /dev/sdb1 976759804 837472068 139287736 86% /media/STORE cgmfs 100 0 100 0% /run/cgmanager/fs tmpfs 395484 56 395428 1% /run/user/1000 tmpfs 395484 4 395480 1% /run/user/0
原創文章,作者:realmaster,如若轉載,請注明出處:http://www.www58058.com/70658