|
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")
|
|
|
|