Python paramiko模块使用解析(实现ssh)
作者:JasonMingHao 时间:2021-02-03 10:29:26
开发堡垒机之前,先来学习Python的paramiko模块,该模块基于SSH用于连接远程服务器并执行相关操作
安装paramiko模块
pip3 install paramiko
基于用户密码方式
import paramiko
# 创建SSH对象
ssh = paramiko.SSHClient()
# 允许连接不在know_hosts文件中的主机
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
# 连接服务器
ssh.connect(hostname="10.0.0.200", port=22, username='root', password='1')
# 执行命令
# stdin:标准输入(就是你输入的命令);stdout:标准输出(就是命令执行结果);stderr:标准错误(命令执行过程中如果出错了就把错误打到这里),stdout和stderr仅会输出一个
stdin, stdout, stderr = ssh.exec_command('df')
# 获取命令结果
result = (stdout.read().decode('utf-8')) # 这个有问题,如果执行的命令是错误的,会不显示错误,可以修改一下,先判断stdout有没有值,如果输出没有,就显示错误
print(result)
# 关闭连接
ssh.close()
基于公钥密钥连接
import paramiko
# 指定私钥路径
private_key = paramiko.RSAKey.from_private_key_file('/root/.ssh/id_rsa')
# 创建SSH对象
ssh = paramiko.SSHClient()
# 允许连接不在know_hosts文件中的主机
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
# 连接服务器
ssh.connect(hostname='10.0.0.171', port=22, username='root', pkey=private_key)
# 执行命令
stdin, stdout, stderr = ssh.exec_command('df')
# 获取命令结果
result = stdout.read()
print(result.decode())
# 关闭连接
ssh.close()
来源:https://blog.51cto.com/12643266/2422861
标签:python,paramiko,模块,实现,ssh
0
投稿
猜你喜欢
使用css给图片添加阴影入门篇
2009-07-06 14:38:00
colab中修改python版本的全过程
2022-10-31 07:18:38
python为图片和PDF去水印详解
2023-06-28 14:09:43
Python 获取div标签中的文字实例
2023-03-27 01:53:53
浅述python中深浅拷贝原理
2022-03-05 06:29:36
Python3 利用face_recognition实现人脸识别的方法
2023-11-05 05:08:02
matplotlib教程——强大的python作图工具库
2021-05-18 23:42:55
Python/JS实现常见加密算法的示例代码
2023-01-25 08:17:29
将图片读入到Dom中,并将其存为xml文件
2008-09-04 11:24:00
Python实现读取文件最后n行的方法
2023-08-02 10:33:32
PHP笛卡尔积实现算法示例
2023-09-08 19:58:09
OpenCV学习之图像形态学处理详解
2022-02-19 15:45:39
python实现三种随机请求头方式
2022-01-17 17:06:39
Symfony学习十分钟入门经典教程
2023-11-14 23:38:38
PHP面向对象程序设计之类常量用法实例
2023-11-22 15:17:39
Oracle不同数据库间对比分析脚本
2010-07-26 13:24:00
我的论坛源代码(九)
2023-11-15 05:50:05
Python selenium 三种等待方式解读
2023-12-26 05:37:56
函数式编程让JS更优美
2008-06-10 12:40:00
python爬虫请求头的使用
2023-03-21 07:10:23