首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何解决python SFTP/paramiko connexion中不兼容的ssh服务器(不可接受的密码)?

如何解决python SFTP/paramiko connexion中不兼容的ssh服务器(不可接受的密码)?
EN

Stack Overflow用户
提问于 2022-06-30 04:16:51
回答 1查看 291关注 0票数 0

我是python的初学者,我希望通过SFTP协议自动化从我的计算机(windows 1021H2)到Linux服务器(Rocky Linux8.6)的文件传输。我使用带有密码的密钥对进行身份验证。

连接不成功。我尝试了很多组合,也经历了很多关于堆叠溢出的问题,但没有成功.

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import pysftp

host,port = 'monServeur.domaine.fr',22
username='pmartin'
pkey='C:/Users/pmartin/.ssh/myPrivateKey'
passphrase='mypassphrase'

with pysftp.Connection(host=host, username=username, private_key=pkey, port=22, private_key_pass=passphrase) as sftp:
    with sftp.cwd('/home/pmartin'):
        for entry in sftp.listdir_attr():
            print(entry.filename)

返回的错误:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
C:\programmation\python>"C:/Program Files/Python310/python.exe" c:/programmation/python/ftptls.py
Exception (client): Incompatible ssh server (no acceptable ciphers)
Traceback (most recent call last):
  File "C:\Users\omarie\AppData\Roaming\Python\Python310\site-packages\paramiko\transport.py", line 2138, in run
    self._handler_table[ptype](self, m)
  File "C:\Users\omarie\AppData\Roaming\Python\Python310\site-packages\paramiko\transport.py", line 2258, in _negotiate_keys
    self._parse_kex_init(m)
  File "C:\Users\omarie\AppData\Roaming\Python\Python310\site-packages\paramiko\transport.py", line 2511, in _parse_kex_init
    raise IncompatiblePeer(
paramiko.ssh_exception.IncompatiblePeer: Incompatible ssh server (no acceptable ciphers)

Traceback (most recent call last):
  File "c:\programmation\python\ftptls.py", line 9, in <module>
    with pysftp.Connection(host, username, pkey, None, 22, passphrase, ['aes128-cbc','aes192-cbc','aes256-cbc','aes128-ctr','aes192-ctr','aes256-ctr']) as sftp:
  File "C:\Users\omarie\AppData\Roaming\Python\Python310\site-packages\pysftp\__init__.py", line 143, in __init__
    self._transport.connect(**self._tconnect)
  File "C:\Users\omarie\AppData\Roaming\Python\Python310\site-packages\paramiko\transport.py", line 1346, in connect
    self.start_client()
  File "C:\Users\omarie\AppData\Roaming\Python\Python310\site-packages\paramiko\transport.py", line 699, in start_client
    raise e
  File "C:\Users\omarie\AppData\Roaming\Python\Python310\site-packages\paramiko\transport.py", line 2138, in run
    self._handler_table[ptype](self, m)
  File "C:\Users\omarie\AppData\Roaming\Python\Python310\site-packages\paramiko\transport.py", line 2258, in _negotiate_keys
    self._parse_kex_init(m)
  File "C:\Users\omarie\AppData\Roaming\Python\Python310\site-packages\paramiko\transport.py", line 2511, in _parse_kex_init
    raise IncompatiblePeer(
paramiko.ssh_exception.IncompatiblePeer: Incompatible ssh server (no acceptable ciphers)

版本:

Python3.10.4(tag/v3.10.4:9d38120,MAR232022,23:13:41) MSC v.1929 64位(AMD64) on win32

单元:

  • 名称:密码学版本:37.0.2
  • 名称: paramiko版本:2.11.0
  • 名称: pysftp版本: 0.2.9

服务器上的密码:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[monServeur ~/.ssh]$ ssh -Q cipher
3des-cbc
aes128-cbc
aes192-cbc
aes256-cbc
rijndael-cbc@lysator.liu.se
aes128-ctr
aes192-ctr
aes256-ctr
aes128-gcm@openssh.com
aes256-gcm@openssh.com
chacha20-poly1305@openssh.com

我试图像这样在pysftp命令中添加密码,但没有成功:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
with pysftp.Connection(host, username, pkey, None, 22, passphrase, ['aes128-cbc','aes192-cbc','aes256-cbc','aes128-ctr','aes192-ctr','aes256-ctr']) as sftp:

我可以用FileZilla和数码鸭完成我的传输,没有这个“密码问题”,密钥对和密码。

谁能给我个线索吗?

添加: paramiko日志文件

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
DEBUG:paramiko.transport:starting thread (client mode): 0x1bf1a6b0
DEBUG:paramiko.transport:Local version/idstring: SSH-2.0-paramiko_2.11.0
DEBUG:paramiko.transport:Remote version/idstring: SSH-2.0-OpenSSH_8.0
INFO:paramiko.transport:Connected (version 2.0, client OpenSSH_8.0)
DEBUG:paramiko.transport:=== Key exchange possibilities ===
DEBUG:paramiko.transport:kex algos: curve25519-sha256@libssh.org
DEBUG:paramiko.transport:server key: rsa-sha2-512, rsa-sha2-256, ssh-rsa, ssh-ed25519
DEBUG:paramiko.transport:client encrypt: chacha20-poly1305@openssh.com, aes256-gcm@openssh.com   
DEBUG:paramiko.transport:server encrypt: chacha20-poly1305@openssh.com, aes256-gcm@openssh.com   
DEBUG:paramiko.transport:client mac: hmac-sha2-512-etm@openssh.com, hmac-sha2-256-etm@openssh.com
DEBUG:paramiko.transport:server mac: hmac-sha2-512-etm@openssh.com, hmac-sha2-256-etm@openssh.com
DEBUG:paramiko.transport:client compress: none, zlib@openssh.com
DEBUG:paramiko.transport:server compress: none, zlib@openssh.com
DEBUG:paramiko.transport:client lang: <none>
DEBUG:paramiko.transport:server lang: <none>
DEBUG:paramiko.transport:kex follows: False
DEBUG:paramiko.transport:=== Key exchange agreements ===
DEBUG:paramiko.transport:Kex: curve25519-sha256@libssh.org
DEBUG:paramiko.transport:HostKey: ssh-ed25519
ERROR:paramiko.transport:Exception (client): Incompatible ssh server (no acceptable ciphers)
EN

回答 1

Stack Overflow用户

发布于 2022-06-30 10:47:40

您的服务器只支持两个专有的OpenSSH密码:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
DEBUG:paramiko.transport:client encrypt: chacha20-poly1305@openssh.com, aes256-gcm@openssh.com   
DEBUG:paramiko.transport:server encrypt: chacha20-poly1305@openssh.com, aes256-gcm@openssh.com   

这确实是相当有限的设定。

帕拉米科不支持这些。

您必须重新配置服务器,以支持Paramiko所做的一些密码。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72815674

复制
相关文章
使用VBA基于图标集进行筛选
Excel一直在改进自动筛选功能。可能和许多开发人员一样,当设置了条件,Excel为你进行数据筛选时,Excel会进行循环。当需要在数千行中循环时,此方法就会出现的问题,大大减慢你的过程。相比之下,在VBA中使用自动筛选速度非常快,小列表和大列表之间的时间差可以忽略不计。同时,Excel引入了按图标集筛选的功能,即单元格中显示的条件格式彩色箭头或图表指示器,如下图1所示。
fanjy
2022/11/16
9830
使用VBA基于图标集进行筛选
Python3.4 PIL的使用
from PIL import Image, ImageFilter, ImageDraw, ImageFont, ImageEnhance, ImageFilter image1 = Image.open('C:/Users/hengli/Desktop/1.jpg') image2 = Image.open('C:/Users/hengli/Desktop/2.jpg') def 图片大小(image): w, h = image.size #获得图片的大小(分辨率) r
艳艳代码杂货店
2021/11/02
5530
使用SnpSift filter对VCF文件进行筛选
当完成突变位点注释之后,我们会得到一个巨大的VCF文件,文件大小从几十M到几十G不等。在数量如此多的突变位点中,我们只会根据注释结果从中挑选部分感兴趣的突变位点,这就要求对VCF文件进行过滤。如此大的文件用Excel 操作是不现实的,脚本语言处理大文件时效果也不尽人意,所以SnpEff的开发团队专门开发了一款工具,叫做SnpSift, 用来对VCF文件进行过滤。
生信修炼手册
2020/05/11
3.1K0
MRM中进行变量筛选
1.最近总有人加我好友称呼我的时候把我的姓写错。我的姓是雷厉风行的厉!厉行节约的厉!不明觉厉的厉!不是日历的历啊!
Listenlii-生物信息知识分享
2020/05/29
1.6K0
Python3.4 + pycharm 环境安装 + pycharm使用
以下主要介绍windows环境下的python安装,作为初用python的萌新,建议只在电脑上装一个python版本就好。
可可的测试小栈
2019/10/17
8790
Python使用集合实现素数筛选法
首先生成指定范围内的所有自然数,然后从前往后遍历其中的数字,并分别删除这些数字的倍数,最后剩下的数字都是素数。 很久很久以前,曾经写过一个使用列表+filter()函数的实现,详见Python使用筛选
Python小屋屋主
2018/04/16
2.4K0
Python使用集合实现素数筛选法
如何使用EvtMute对Windows事件日志进行筛选过滤
在这篇文章中,我们将告诉大家如何使用EvtMute来对Windows事件日志进行筛选过滤。EvtMute这款工具允许我们使用YARA来进行攻击性操作,并对已经报告给Windows事件日志的事件进行过滤和筛选。
FB客服
2021/03/09
9020
如何使用EvtMute对Windows事件日志进行筛选过滤
python-进阶教程-对列表中的元素进行筛选
本文主要介绍根据给定条件对列表中的元素进行筛序,剔除异常数据,并介绍列表推导式和生成表达式两种方法。。
kirin
2021/03/11
3.5K0
【利用Python进行金融数据分析】数据的筛选和选取
pd.set_option("display.width",1000) url ="https://raw.githubusercontent.com/jokecamp/FootballData/master/UEFA_European_Championship/Euro%202012/Euro%202012%20stats%20TEAM.csv"
光点神奇
2019/05/28
8420
3.4 使用Axios发送请求
Axios 是一个开源的可以用在浏览器端和 NodeJS 的异步通信框架,她的主要作用就是实现 AJAX 异步通信,其功能特点如下:
Qwe7
2022/07/21
7790
Python3.4 安装 pycrypt
今天做接口测试,有个接口的参数使用了 AES 加密,开发也提供了加密函数的实现,但是 Python2.6 实现的,我习惯使用的是 Python3.4,于是准备做下兼容处理,结果过程中发现安装 pycrypto 库会报错。
py3study
2020/01/10
1K0
python3.4的pygame安装
1.进入官网http://www.lfd.uci.edu/~gohlke/pythonlibs/#pygame 下载对应版本的pygame,注意区分32位与64位。
全栈程序员站长
2022/08/25
8090
python3.4的pygame安装
Python 根据AIC准则定义向前逐步回归进行变量筛选(二)
AIC即赤池值,是衡量模型拟合优良性和模型复杂性的一种标准,在建立多元线性回归模型时,变量过多,且有不显著的变量时,可以使用AIC准则结合逐步回归进行变量筛选。AICD数学表达式如下: A I C = 2 p + n ( l o g ( S S E / n ) ) AIC=2p+n(log(SSE/n)) AIC=2p+n(log(SSE/n)) 其中, p p p是进入模型当中的自变量个数, n n n为样本量, S S E SSE SSE是残差平方和,在 n n n固定的情况下, p p p越小, A I C AIC AIC越小, S S E SSE SSE越小, A I C AIC AIC越小,而 p p p越小代表着模型越简洁, S S E SSE SSE越小代表着模型越精准,即拟合度越好,综上所诉, A I C AIC AIC越小,即模型就越简洁和精准。
全栈程序员站长
2022/08/31
2.5K0
Python 根据AIC准则定义向前逐步回归进行变量筛选(二)
Python3.4图片转换素描
from PIL import Image, ImageFilter, ImageOps img = Image.open('C:\Users\hengli\Pictures\lovewallpaper\214926-106.jpg') def dodge(a, b, alpha): return min(int(a255/(256-balpha)), 255) def draw(img, blur=25, alpha=1.0): img1
用户7999227
2021/11/02
6710
使用Python进行并发编程
让计算机程序并发的运行是一个经常被讨论的话题,今天我想讨论一下Python下的各种并发方式。
程序员迪迪
2022/01/13
9600
使用Python进行XML解析
XML 指可扩展标记语言(eXtensible Markup Language),常被设计用来传输和存储数据。 在进行医学图像标注时,我们常使用XML格式文件来存储标注,以下展示了使用Python来提取标注的坐标值。
范中豪
2020/07/14
1.2K0
使用Python进行统计建模
大家好,在之前的文章中我们已经讲解了很多Python数据处理的方法比如读取数据、缺失值处理、数据降维等,也介绍了一些数据可视化的方法如Matplotlib、pyecharts等,那么在掌握了这些基础技能之后,要进行更深入的分析就需要掌握一些常用的建模方法,本文将讲解如何利用Python进行统计分析。和之前的文章类似,本文只讲如何用代码实现,不做理论推导与过多的结果解释(事实上常用的模型可以很轻松的查到完美的推导与解析)。因此读者需要掌握一些基本的统计模型比如回归模型、时间序列等。
刘早起
2020/04/22
1.7K0
使用python进行adsl拨号
import os g_adsl_account = {"name": "adsl", "username": "0512...", "password": "..."} class Adsl(object): #============================================================================== # __init__
py3study
2020/01/09
2.4K0
点击加载更多

相似问题

使用any()函数进行Python筛选数组

22

使用python 3.4安装numpy

12

有状态筛选EXT js 3.4

14

使用Python 3.4旋转视频

11

Python3.4:如何进行xml验证

15
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文