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
  • asp之家 网络编程 m.aspxhome.com