Python Paramiko实现SSHv2协议轻松管理远程服务器

 更新时间:2024年01月22日 14:14:28   作者:半个码农  
这篇文章主要为大家介绍了Python Paramiko实现SSHv2协议轻松管理远程服务器,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

前言

Python的Paramiko库,它是一个用于实现SSHv2协议的客户端和服务器的库。通过使用Paramiko,我们可以在Python程序中轻松地实现远程服务器的管理、文件传输等功能。特别做智能硬件产品的同学要熟悉它,因为它能为你减少很多麻烦,在我以前的工作中,对智能硬件做各种测试就是通过Paramiko连接设备下发各种命令

一.安装

pip install paramiko

二.基本用法

1.创建一个ssh连接客户端

import paramiko
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())

2.添加服务器的SSH密钥(可选)

ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())

3.connect()创建连接,连接远程服务,各种智能硬件,服务器等

hostname = '192.168.31.230'
port = 22
username = 'kali'
password = 'kali'
ssh.connect(hostname, port, username, password)

4.执行远程命令

stdin, stdout, stderr = ssh.exec_command('ls')
print(stdout.read().decode()) # 打印输出结果
print(stderrh.read().decode())# 输出错误信息
# 返回结果 
Desktop
Documents
Downloads
Music
Pictures
Public
Templates
Videos

5.文件下载

local_file = 'D:/code/ssh/local_file.txt'  # 本地文件路径和名称
remote_file = '/home/kali/remote_file.txt'  # 远程文件路径和名称
sftp = ssh.open_sftp()  # 打开SFTP会话
sftp.get(remote_file, local_file)  # 从远程服务器下载文件到本地
sftp.close()  # 关闭SFTP会话

6.文件上传

local_file = 'D:/code/ssh/local_file2.txt'  # 本地文件路径和名称
remote_file = '/home/kali/remote_file2.txt'  # 远程文件路径和名称
sftp = ssh.open_sftp()  # 打开SFTP会话
sftp.put(local_file, remote_file)  # 上传本地文件到远程服务器
sftp.close()  # 关闭SFTP会话

7.关闭连接

ssh.close() #关闭连接

三.完整代码如下

import paramiko
ssh = paramiko.SSHClient() # 创建客服端
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) # 添加秘钥
hostname = '192.168.31.230'
port = 22
username = 'kali'
password = 'kali'
ssh.connect(hostname, port, username, password) # 创建连接
stdin, stdout, stderr = ssh.exec_command('ls') # 执行ls
print(stdout.read().decode())
# 下载
local_file = 'D:/code/ssh/local_file.txt'  # 本地文件路径和名称
remote_file = '/home/kali/remote_file.txt'  # 远程文件路径和名称
sftp = ssh.open_sftp()  # 打开SFTP会话
sftp.get(remote_file, local_file)  # 从远程服务器下载文件到本地
# 上传
local_file2 = 'D:/code/ssh/local_file2.txt'  # 本地文件路径和名称
remote_file2 = '/home/kali/remote_file2.txt'  # 远程文件路径和名称
sftp = ssh.open_sftp()  # 打开SFTP会话
sftp.put(local_file2, remote_file2)  # 上传本地文件到远程服务器
sftp.close()  # 关闭SFTP会话
ssh.close() # 关闭连接

以上就是Python Paramiko实现SSHv2协议轻松管理远程服务器的详细内容,更多关于Python Paramiko SSHv2协议的资料请关注脚本之家其它相关文章!

相关文章

  • python构建基础的爬虫教学

    python构建基础的爬虫教学

    在本篇内容里小编给大家分享的是关于python构建基础的爬虫教学内容,需要的朋友们学习下。
    2018-12-12
  • Pyhon Flask框架:第一个Flask程序

    Pyhon Flask框架:第一个Flask程序

    这篇文章主要介绍了Flask搭建虚拟环境并运行第一个flask程序,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-10-10
  • Python 数据筛选功能实现

    Python 数据筛选功能实现

    这篇文章主要介绍了Python 数据筛选,无论是在数据分析还是数据挖掘的时候,数据筛选总会涉及到,这里我总结了一下python中列表,字典,数据框中一些常用的数据筛选的方法,需要的朋友可以参考下
    2023-04-04
  • python的类方法和静态方法

    python的类方法和静态方法

    这篇文章主要介绍了python的类方法和静态方法,以实例形式分析了Python中类方法和静态方法的实现技巧与应用方法,需要的朋友可以参考下
    2014-12-12
  • python requests库的使用

    python requests库的使用

    这篇文章主要介绍了python requests库的使用,帮助大家更好的利用python进行爬虫,感兴趣的朋友可以了解下
    2021-01-01
  • Python----数据预处理代码实例

    Python----数据预处理代码实例

    这篇文章主要介绍了Python数据预处理,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-03-03
  • 合并Excel工作薄中成绩表的VBA代码,非常适合教育一线的朋友

    合并Excel工作薄中成绩表的VBA代码,非常适合教育一线的朋友

    每次学生考试,评分完毕之后,把每个科的成绩收集起来,就得到了一个有若干工作表,每个表有学生学号、分数等列的Excel工作薄。
    2009-04-04
  • Python中使用MySQL模糊查询的详细方法

    Python中使用MySQL模糊查询的详细方法

    这篇文章主要介绍了Python中使用MySQL模糊查询的方法,以下是一个使用pymysql进行模糊查询的详细示例,包括安装库、连接数据库、执行查询以及处理结果,需要的朋友可以参考下
    2024-06-06
  • Python实现将PDF文件拆分任意页数

    Python实现将PDF文件拆分任意页数

    PyMuPDF,简称fitz,是一个轻量级的Python库,它简化和封装了PyMuPDF的功能,使得在Python中处理PDF文件更加简单,下面我们来看看如何使用他将PDF拆分任意页数
    2025-02-02
  • 基于Python编写一个MP3分割工具

    基于Python编写一个MP3分割工具

    这篇文章主要为大家详细介绍了如何基于Python编写一个MP3分割工具,可以将MP4转成Mp3并且按时间或按歌曲分割,感兴趣的小伙伴可以了解下
    2025-02-02

最新评论