【Python-每日技巧】利用Paramiko实现远程服务器的ssh连接
  Bo2AFizVf6Eo 2023年11月02日 50 0

Paramiko是一个使用Python语言编写的SSHv2协议库,可以用来实现SSH远程登录控制。下面是一个使用Paramiko实现SSH远程登录控制的详细说明。

  1. 安装Paramiko

首先需要安装Paramiko库,可以使用pip命令在命令行中进行安装:

pip install paramiko
  1. 导入Paramiko库

在Python脚本中导入Paramiko库:

import paramiko
  1. 创建SSH客户端对象

使用Paramiko库中的SSHClient类创建一个SSH客户端对象:

ssh = paramiko.SSHClient()
  1. 配置SSH客户端对象

为了让SSH客户端对象能够连接到目标服务器,需要对其进行一些配置:

ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())

这个配置将自动添加服务器的SSH密钥,使其能够建立安全的连接。

  1. 连接到目标服务器

使用SSH客户端对象的connect方法连接到目标服务器,需要提供服务器的IP地址、端口号、用户名和密码:

ssh.connect('192.168.1.100', port=22, username='username', password='password')
  1. 执行命令

使用SSH客户端对象的exec_command方法可以执行远程命令:

stdin, stdout, stderr = ssh.exec_command('ls')

这个命令会在远程服务器上执行“ls”命令,并将输出结果保存在stdout对象中。可以使用stdout对象的read方法读取输出结果:

result = stdout.read().decode()
print(result)
  1. 关闭连接

最后,使用SSH客户端对象的close方法关闭连接:

ssh.close()

完整代码示例:

import paramiko

ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect('192.168.1.100', port=22, username='username', password='password')
stdin, stdout, stderr = ssh.exec_command('ls')
result = stdout.read().decode()
print(result)
ssh.close()
【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
Bo2AFizVf6Eo
最新推荐 更多