Paramiko 模块
paramiko模块提供了ssh及sft进行远程登录服务器执行命令和上传下载文件的功能。这是一个第三方的软件包,使用之前需要安装。
安装方法 pip install paramiko
模块使用介绍场景
1、在windows 下面远程执行liunx 主机的命令
连接方法一、
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
#coding:utf-8 import paramiko
ssh = paramiko.SSHClient()
known_hosts = paramiko.AutoAddPolicy() ##默认的受信列表
ssh.set_missing_host_key_policy(known_hosts) ##采用默认授信列表
#建立连接 ssh.connect( hostname = "192.168.10.31" ,
port = 22 ,
username = "root" ,
password = "1111"
) stdin,stdout,stderr = ssh.exec_command( "free -m " )
print (stdout.read())
ssh.close() |
连接方法二、
1
2
3
4
5
6
7
8
|
trans = paramiko.Transport(( "192.168.10.31" , 22 ))
trans.connect(username = "root" ,password = "1111" )
#登录必须先实例化一个客户端 ssh = paramiko.SSHClient()
ssh._transport = trans #设置客户端使用该通道
stdin,stdout,stderr = ssh.exec_command( "free -m " ) #远程执行命令
print (stdout.read())
ssh.close() |
#模拟服务器上传和下载功能
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
#coding:utf-8 import paramiko
trans = paramiko.Transport(( "192.168.10.31" ), 22 )
trans.connect(username = "root" ,password = "1111" )
trans = paramiko.Transport(( "192.168.10.31" , 22 ))
trans.connect(username = "root" ,password = "1111" )
sftp = paramiko.SFTPClient.from_transport(trans) #实例化文件一个上传下载的客户端
sftp = paramiko.SFTPClient.from_transport(trans)
#上传 #get从远程服务器上下载文件到本地 sftp.get( "/root/Desktop/test.py" , "t1.py" )
#下载 #put 上传本地文件到远程服务器 sftp.put( "by.txt" , "/root/Desktop/beiying.txt" )
|
本文转自 水滴石川1 51CTO博客,原文链接:http://blog.51cto.com/sdsca/1966871,如需转载请自行联系原作者