Python paramiko模块的安装与使用

简介:

paramiko是Python语言编写的遵循SSH2协议,支持加密和认证方式,连接远程服务器执行命令或者上传下载文件。


一、安装paramiko

1
pip3 install paramiko


二、使用用户名密码方式远程执行命令

1
2
3
4
5
6
7
8
import  paramiko
ssh  =  paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())   # 自动接受远程服务器host key
ssh.connect( '127.0.0.1' 22 'username' 'password' )   # 远程主机IP、端口、用户名、密码
stdin, stdout, stderr  =  ssh.exec_command( 'df -h' )   # 远程服务器要执行的命令
for  line  in  stdout:
     print (line)
ssh.close()   # 关闭ssh连接


三、使用用户名密码方式上传或下载文件

1
2
3
4
5
6
import  paramiko
=  paramiko.Transport( '127.0.0.1' 22 )
t.connect(username = 'username' , password = 'password' )
sftp  =  paramiko.SFTPClient.from_transport(t)
sftp.put( 'local_file' 'remote_folder' )
t.close()
1
2
3
4
5
6
import  paramiko
=  paramiko.Transport( '127.0.0.1' 22 )
t.connect(username = 'username' , password = 'password' )
sftp  =  paramiko.SFTPClient.from_transport(t)
sftp.get( 'remote_file' 'local_folder' )
t.close()


四、使用ssh key方式远程执行命令(前提远程主机已经接受了你的公钥)

1
2
3
4
5
6
7
8
9
10
11
import  paramiko
 
private_key_path  =  '/home/xxx/.ssh/id_rsa'
key  =  paramiko.RSAKey.from_private_key_file(private_key_path)
 
ssh  =  paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect( '127.0.0.1' 22 , username = 'username' , pkey = key)
stdin, stdout, stderr  =  ssh.exec_command( 'df' )
print (stdout.read())
ssh.close()


五、使用scp方式远程执行命令

1
2
3
4
5
6
7
8
import  paramiko
 
scp  =  paramiko.Transport(( '127.0.0.1' 22 ))
scp.connect(username = 'username' , password = 'password' )
channel  =  scp.open_session()
channel.exec_command( 'touch hello/test.txt' )
channel.close()
scp.close()

本文转自戴柏阳的博客博客51CTO博客,原文链接http://blog.51cto.com/daibaiyang119/2046923如需转载请自行联系原作者

daibaiyang119
相关文章
|
5天前
|
Ubuntu Python
Ubuntu 安装Python3.8
Ubuntu 安装Python3.8
27 0
|
18小时前
|
Python
在Python中,利用`os模块`的`path.exists()`函数可判断文件是否存
在Python中,利用`os模块`的`path.exists()`函数可判断文件是否存在,该函数对路径进行检查,存在则返回True,不存在则返回False。示例代码展示了如何检查'example.txt'文件是否存在并相应打印消息。此外,`os.path.isfile()`用于确认路径是否为文件,仅当是文件时返回True,否则返回False,同样配以示例说明其用法。
8 2
|
18小时前
|
Web App开发 测试技术 C++
Playwright安装与Python集成:探索跨浏览器测试的奇妙世界
Playwright是新兴的跨浏览器测试工具,相比Selenium,它支持Chrome、Firefox、WebKit,执行速度快,选择器更稳定。安装Playwright只需一条`pip install playwright`的命令,随后的`playwright install`会自动添加浏览器,无需处理浏览器驱动问题。这一优势免去了Selenium中匹配驱动的烦恼。文章适合寻求高效自动化测试解决方案的开发者。
10 2
|
1天前
|
Python
【Python进阶(五)】——模块搜索及工作目录
【Python进阶(五)】——模块搜索及工作目录
|
2天前
|
关系型数据库 MySQL 数据库
Python Stock安装与使用
Python Stock安装与使用
|
2天前
|
Shell 数据安全/隐私保护 Docker
docker安装anaconda3 python环境
docker安装anaconda3 python环境
10 0
|
3天前
|
Python Windows
python中的异常与模块
python中的异常与模块
9 1
|
4天前
|
数据采集 iOS开发 MacOS
Python及Pycharm安装教程
Python及Pycharm安装教程
16 0
|
12天前
|
JSON 数据格式 Python
Python标准库中包含了json模块,可以帮助你轻松处理JSON数据
【4月更文挑战第30天】Python的json模块简化了JSON数据与Python对象之间的转换。使用`json.dumps()`可将字典转为JSON字符串,如`{"name": "John", "age": 30, "city": "New York"}`,而`json.loads()`则能将JSON字符串转回字典。通过`json.load()`从文件读取JSON数据,`json.dump()`则用于将数据写入文件。
17 1
|
13天前
|
Python
Python实现压缩解压---tarfile模块详解
Python实现压缩解压---tarfile模块详解