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,如需转载请自行联系原作者