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())

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

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

3.执行远程命令

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

4.文件下载

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会话

图片

5.文件上传

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会话

图片
 

6.关闭连接

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() # 关闭连接

来自—————半个码农

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇