Paramiko是一个Python实现的SSH2远程安全连接模块,它支持认证及密钥方式。

这篇具有很好参考价值的文章主要介绍了Paramiko是一个Python实现的SSH2远程安全连接模块,它支持认证及密钥方式。。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Paramiko是一个Python实现的SSH2远程安全连接模块,它支持认证及密钥方式。

具体来说,Paramiko是一个用于实现SSHv2协议的模块,它可以用于创建SSH客户端或服务器端。通过使用Paramiko,你可以连接到远程服务器、执行命令、传输文件等操作。Paramiko还支持多种认证方式,包括口令认证和公钥认证,以及多种密钥交换算法和压缩方法。

使用Paramiko模块可以编写Python代码,实现SSH相关功能,例如文件传输、远程执行命令等。

安装方式

sudo apt-get install build-essential libssl-dev libffi-dev python3-dev 
pip3 install cryptography
pip3 install paramiko

示例:

import paramiko

ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())  # 自动添加主机密钥
ssh.connect('remote_host', username='your_username', password='your_password')
#hostname:连接的目标主机。
#port=SSH_PORT:指定端口,一般默认为22。
#username=None:验证的用户名。
#password=None:验证的用户密码。
#pkey=None:私钥方式用于身份验证。
#key_filename=None:一个文件名或文件列表,指定私钥文件。
#timeout=None:可选的tcp连接超时时间。
#allow_agent=True:是否允许连接到ssh代理,默认为True。
#look_for_keys=True:是否在~/.ssh中搜索私钥文件,默认为True。
#compress=False:是否打开压缩。
#常用方法:
#connect():主要是用于实现和远程服务器的连接与认证。

stdin, stdout, stderr = ssh.exec_command('ls')
output = stdout.read().decode()
print(output)

sftp = ssh.open_sftp()
sftp.put('local_file', 'remote_file')  # 上传文件
sftp.close()

终端示例文章来源地址https://www.toymoban.com/news/detail-775914.html

>>> import paramiko, time
>>> connection = paramiko.SSHClient()
>>> connection.set_missing_host_key_policy(paramiko.AutoAddPolicy())
>>> connection.connect('192.168.2.51', username='cisco', password='cisco', 
look_for_keys=False, allow_agent=False)
>>> new_connection = connection.invoke_shell()
>>> output = new_connection.recv(5000)
>>> print(output) b"\
r\n*************************************************************************\
r\n* IOSv is strictly limited to use for evaluation, demonstration and 
IOS *\r\n* education. IOSv is provided as-is and is not supported by 
Cisco's *\r\n* Technical Advisory Center. Any use or disclosure, 
in whole or in part, *\r\n* of the IOSv Software or Documentation to 
any third party for any *\r\n* purposes is expressly prohibited 
except as otherwise authorized by *\r\n* Cisco in writing. 
*\r\n*********************************************************************
**\r\nlax-edg-r1#"
>>> new_connection.send("show version | i V\n")
19
>>> time.sleep(3)
>>> output = new_connection.recv(5000)
>>> print(output)
b'show version | i V\r\nCisco IOS Software, IOSv Software (VIOSADVENTERPRISEK9-M), Version 15.8(3)M2, RELEASE SOFTWARE (fc2)\r\nProcessor 
board ID 98U40DKV403INHIULHYHB\r\nlax-edg-r1#'
>>> new_connection.close()
>>>
>>> import paramiko
>>> connection = paramiko.SSHClient()
>>> connection.set_missing_host_key_policy(paramiko.AutoAddPolicy())
>>> connection.connect('192.168.2.51', username='cisco', password='cisco',
look_for_keys=False, allow_agent=False)
>>> stdin, stdout, stderr = connection.exec_command('show version | i 
V\n') 
Traceback (most recent call last):
<skip>
raise SSHException('SSH session not active') paramiko.ssh_exception.
SSHException: SSH session not active
ssh-keygen -t rsa
cat ~/.ssh/id_rsa.pub
>>> import paramiko
>>> key = paramiko.RSAKey.from_private_key_file('/home/xxx/.ssh/id_rsa')
>>> client = paramiko.SSHClient()
>>> client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
>>> client.connect('192.168.199.182', username='echou', pkey=key)
>>> stdin, stdout, stderr = client.exec_command('ls -l')
>>> stdout.read()
b'total 44ndrwxr-xr-x 2 echou echou 4096 Jan 7 10:14 Desktopndrwxr-xr-x 2
echou echou 4096 Jan 7 10:14 Documentsndrwxr-xr-x 2 echou echou 4096 Jan 7
10:14 Downloadsn-rw-r--r-- 1 echou echou 8980 Jan 7 10:03
examples.desktopndrwxr-xr-x 2 echou echou 4096 Jan 7 10:14 Musicndrwxrxr-x
echou echou 4096 Jan 7 10:14 Picturesndrwxr-xr-x 2 echou echou 4096 Jan 7 
10:14 Publicndrwxr-xr-x 2 echou echou 4096 Jan 7 10:14 Templatesndrwxrxr-x
2 echou echou 4096 Jan 7 10:14 Videosn'
>>> stdin, stdout, stderr = client.exec_command('pwd')
>>> stdout.read()
b'/home/echou'
>>> client.close()

到了这里,关于Paramiko是一个Python实现的SSH2远程安全连接模块,它支持认证及密钥方式。的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【网络协议】远程登录安全连接协议SSH(Secure Shell)

    SSH(Secure Shell)协议是一种用于在不安全网络上提供安全远程登录、命令执行和数据传输的加密网络协议,通过公钥加密和身份验证技术确保通信的安全性和隐私性。 SSH(Secure Shell)最初由Tatu Ylönen在1995年开发,现在已经发展成为一种广泛使用的标准工具,尤其是在Unix和

    2024年02月03日
    浏览(46)
  • Python 报错处理 paramiko.ssh_exception.SSHException: Error reading SSH protocol banner

    使用多进程启动多个ssh报错:  其中一种可能原因是目标Linux系统的ssh连接数有限制,可尝试修改ssh连接数后重启ssh:  MaxStartups参数可以设置最大未认证连接数。默认设置是 10:30:100,意思是从第10个连接开始以30%的概率拒绝新连接,直到连接数达到100为止。

    2024年02月09日
    浏览(33)
  • Git 安全远程访问:SSH 密钥对生成、添加和连接步骤解析

    SSH(Secure Shell)是一种用于安全远程访问的协议,它提供了加密通信和身份验证机制。在使用 SSH 连接到远程 Git 存储库时,您可以使用 SSH 密钥对来确保安全性。以下是关于如何生成和使用 SSH 密钥对的详细步骤: 生成 SSH 密钥对 打开终端或命令行工具。 在命令行中运行以下

    2024年03月09日
    浏览(51)
  • python:Paramiko / SCP-检查文件是否在远程主机上

    关于python:Paramiko / SCP-检查文件是否在远程主机上 | 码农家园 (codenong.com)

    2024年02月06日
    浏览(35)
  • 【树莓派】网线远程连接电脑和树莓派,实现SSH连接

    目录 1、硬件连接; 2、电脑端: 3、查找树莓派的IP地址 4、开启树莓派的SSH接口 5、putty 6、命令行 参考文章 通过网线连接笔记本与树莓派 开启SSH和VNC功能 无显示器安装树莓派 实现:打开putty输入树莓派地址使用ssh方式登陆,用命令行操作树莓派 使用 网线 将笔记本电脑和

    2024年01月19日
    浏览(45)
  • idea实现ssh远程连接服务器

    1. 首先,打开idea,点击左上角File-settings 2. 点击tools-SSH Configurations-填写必要的信息,Host就是访问服务器的ip地址,Username就是服务器的用户账户,比如root,Password账户对应的密码,进行Test Connection。显示连接成功就成功了。 3. 接着在Tools下面继续选中SSH Terminal-SSH Configuration,

    2024年04月25日
    浏览(32)
  • 使用 SSH 方式实现 Git 远程连接GitHub

    git是目前世界上最先进的分布式版本控制系统,相比于SVN,分布式版本系统的最大好处之一是在本地工作完全不需要考虑远程库的存在,也就是有没有联网都可以正常工作!当有网络的时候,再把本地提交推送一下就完成了同步,非常方便,故而也得到了广大IT工作者的青睐

    2024年01月18日
    浏览(63)
  • IDEA实现ssh远程连接本地Linux服务器

    本文主要介绍如何在IDEA中设置远程连接服务器开发环境,并结合Cpolar内网穿透工具实现无公网远程连接,然后实现远程Linux环境进行开发。 IDEA的远程开发功能,可以将本地的编译、构建、调试、运行等工作都放在远程服务器上执行,而本地仅运行客户端软件进行常规的开发

    2024年02月22日
    浏览(38)
  • kali 安装cpolar内网穿透实现 ssh 远程连接

    简单几步通过cpolar 内网穿透软件实现ssh 远程连接kali! 默认新安装的kali系统会关闭ssh 连接服务,我们通过命令打开: 启动后我们查看ssh 状态,active 表示ssh 正常运行 通常ssh 是使用账号或者密码进行登录连接,所以还需要开启密码验证,编辑ssh配置文件: 把如下两个参数解除注释,值

    2024年02月10日
    浏览(58)
  • 内网穿透实现ssh远程连接Ubuntu(Sakura frp实现方法)

    实现自由远程连接内网Ubuntu系统 安装ssh服务器 安装ssh客户端 配置ssh客户端 ​ 1)让ssh允许密码验证登录 ​ 将PasswordAuthentication yes 前的#删除 ​ 2)允许root登录 ​ 将PermitRootLogin prohibt-password 修改为 PermitRootLogin 重启ssh服务 查看ssh服务状态 active(running)表示ssh服务运行正常运行

    2024年02月02日
    浏览(36)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包