当前位置: 首页 > news >正文

Python自动连接SSH

Python自动连接SSH

在 Python 中,可以使用 paramiko 模块来编写脚本自动执行 SSH 命令。paramiko 是一个用于 SSHv2 的 Python 实现,可以帮助你在脚本中进行远程执行命令。

首先,确保安装了 paramiko

pip install paramiko

然后,你可以使用以下 Python 脚本示例:

import paramiko# 远程主机的地址、用户名和私钥文件路径
remote_host = "example.com"
remote_user = "your_username"
port = 22
pwd = "password"
is_private_key = False
private_key_path = "/path/to/your/private/key"# 创建 SSH 客户端
client = paramiko.SSHClient()# 自动添加主机密钥 (此处可能会有潜在的安全风险,请谨慎使用)
client.set_missing_host_key_policy(paramiko.AutoAddPolicy())# 连接到远程主机,2种方法,密钥法和密码法
if(is_private_key):private_key = paramiko.RSAKey(filename=private_key_path)client.connect(remote_host, port, username=remote_user, pkey=private_key)
else:ssh.connect(remote_host, port, remote_user, pwd)# 执行远程命令
stdin, stdout, stderr = client.exec_command("ls")# 打印命令输出
print(stdout.read().decode())# 关闭 SSH 连接
client.close()

在这个脚本中:

  • paramiko.SSHClient() 创建了一个 SSH 客户端。
  • paramiko.AutoAddPolicy() 设置了一个策略,用于在第一次连接时自动添加主机密钥到本地 known_hosts 文件中。请注意这可能存在安全风险。
  • paramiko.RSAKey(filename=private_key_path) 使用指定路径的私钥文件进行认证。
  • client.connect() 连接到远程主机。
  • client.exec_command("ls") 执行了一个远程命令,这里是简单的列出目录。
  • stdout.read().decode() 读取命令的标准输出。

请替换示例中的远程主机地址、用户名和私钥文件路径为你的实际信息。并记住在生产环境中慎用自动添加主机密钥的方式,最好在安全环境中手动添加。

http://www.lryc.cn/news/328465.html

相关文章:

  • 机器学习实验------AGNES层次聚类方法
  • HBase常用的Filter过滤器操作
  • 容器安全与防御(德迅蜂巢)
  • 【面经八股】搜广推方向:面试记录(十一)
  • 第十四章 MySQL
  • C++项目——集群聊天服务器项目(七)Model层设计、注册业务实现
  • VBA语言専攻介绍(20240331更新)
  • Golang- 邮件服务,发送邮件
  • C语言:编译和链接
  • JavaEE 初阶篇-深入了解多线程安全问题(出现线程不安全的原因与解决线程不安全的方法)
  • 计算机网络⑦ —— 网络层协议
  • 正弦实时数据库(SinRTDB)的使用(7)-历史统计查询
  • 编译和链接知识点
  • 大话设计模式之工厂模式
  • Windows MySQL通过data 文件夹恢复数据
  • ARP协议定义及工作原理
  • express实现用户登录和注册接口
  • 数字化转型,效率增长才是王道
  • RHCE-2-chrony服务器
  • 音频RK809
  • 解决 linux 服务器 java 命令不生效问题
  • 22 多态
  • 排序算法超详细代码和知识点整理(java版)
  • Java复习第十二天学习笔记(JDBC),附有道云笔记链接
  • Python从零到一构建GPT模型
  • V R虚拟现实元宇宙的前景|虚拟现实体验店加 盟合作|V R设备在线购买
  • 大话设计模式之策略模式
  • 蓝桥杯23年第十四届省赛真题-三国游戏|贪心,sort函数排序
  • P15:PATH环境变量
  • math模块篇(七)