SSHException: Incompatible ssh peer (no acceptable kex algorithm)

      使用公司维护助手(python开发)执行巡检,导入主机信息时,发现无法连接,报错信息如下:

2015-12-22 15:41:12,983: 15004 ERROR: paramiko.transport: Exception: Incompatible ssh peer (no acceptable kex algorithm)
2015-12-22 15:41:12,983: 15004 ERROR: paramiko.transport: Traceback (most recent call last):
2015-12-22 15:41:12,983: 15004 ERROR: paramiko.transport:   File "paramiko\transport.pyc", line 1584, in run
2015-12-22 15:41:12,983: 15004 ERROR: paramiko.transport:   File "paramiko\transport.pyc", line 1663, in _negotiate_keys
2015-12-22 15:41:12,983: 15004 ERROR: paramiko.transport:   File "paramiko\transport.pyc", line 1776, in _parse_kex_init
2015-12-22 15:41:12,983: 15004 ERROR: paramiko.transport: SSHException: Incompatible ssh peer (no acceptable kex algorithm)
2015-12-22 15:41:12,983: 15004 ERROR: paramiko.transport: 
2015-12-22 15:41:13,000: 6124 ERROR: SSHClient.login: Traceback (most recent call last):
  File ".\LIB\Framework\MAProtocols\Communication\MASFTP.py", line 305, in loginViaPwd
  File "paramiko\transport.pyc", line 1006, in connect
  File "paramiko\transport.pyc", line 464, in start_client
SSHException: Incompatible ssh peer (no acceptable kex algorithm)
      搜索发现有人说是paramiko模块版本问题,重试另一台服务器,发现可以连接,排除客户端问题;

      想起曾经自动部署工具ideploy连接不上的配置,于是比对/etc/ssh/sshd_conf/usr/etc/sshd_conf文件,发现能连接上的机器比不能连接上的机器末尾多了一行加密算法

KexAlgorithms curve25519-sha256@libssh.org,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256,diffie-hellman-group14-sha1,diffie-hellman-group-exchange-sha1,diffie-hellman-group1-sha1
     查看ssh版本

OS01:~ # ssh -V
OpenSSH_6.9p1, OpenSSL 1.0.1j 15 Oct 2014

     基本确认与上次JSch程序连接不上原因一致,ssh 6.7以上屏蔽不安全算法,配置即可解决


  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 这个错误通常发生在使用 Pandas 库中的 Series 类型时,使用了不兼容的索引器进行索引。 可能的原因之一是使用了错误的索引器类型。例如,使用整数索引器(如整数索引或切片)来索引字符串类型的 Series,或者使用字符串索引器来索引整数类型的 Series。 另一个可能的原因是使用了不兼容的索引器和 Series 数据类型。例如,使用布尔型索引器来索引非布尔型的 Series。 要解决这个错误,您可以检查使用的索引器类型是否与 Series 数据类型兼容,并尝试使用正确的索引器类型。您还可以尝试转换 Series 数据类型或索引器类型,以使它们兼容。 以下是一个示例,演示如何使用整数索引器来索引字符串类型的 Series 时出现 Incompatible indexer with Series 错误: ```python import pandas as pd # 创建一个字符串类型的 Series s = pd.Series(['a', 'b', 'c']) # 使用整数索引器来索引字符串类型的 Series s[0:2] ``` 在这个示例中,使用整数索引器对字符串类型的 Series 进行索引时,会出现 Incompatible indexer with Series 错误。要解决这个问题,可以改用字符串索引器来索引 Series,例如: ```python # 使用字符串索引器来索引字符串类型的 Series s['0':'2'] ``` 这个代码段将正确地索引 Series,而不会产生错误。 ### 回答2: ValueError: Incompatible indexer with Series 是一个Python错误,通常出现在使用pandas中的Series对象进行索引时。这个错误表示索引器与Series对象不兼容。 在pandas中,Series是一维带标签的数组,可以通过整数位置或标签来访问元素。当我们使用不兼容的索引器时,就会引发ValueError。 通常引发此错误的原因有以下几种情况: 1. 使用整数进行索引:如果我们尝试使用整数作为索引器,而Series对象的索引是非整数类型(如字符串或日期),将会出现不兼容的错误。 例如,如果我们有一个Series对象,其索引是['a', 'b', 'c'],当我们尝试使用整数索引器时,如series[0],将会引发该错误。 2. 使用布尔索引:当我们使用布尔数组作为索引器时,要确保索引器的长度与Series对象的长度相匹配,否则就会出现不兼容的错误。 例如,如果我们有一个Series对象,长度为3,但我们使用长度为4的布尔数组作为索引器,将会引发ValueError。 总之,ValueError: Incompatible indexer with Series 错误意味着我们在使用pandas的Series对象时,使用了不兼容的索引器。我们需要确保索引器的类型和长度与Series对象匹配,以避免这个错误。 ### 回答3: ValueError: Incompatible indexer with Series 是一个错误提示信息,说明索引器与Series数据结构不兼容。这个错误通常出现在使用了不正确的索引器或索引方式时。 要解决这个错误,首先应该检查使用的索引器是否与Series数据类型匹配。在pandas中,常见的索引方式包括整数索引、标签索引、布尔索引等。如果使用了错误的索引方式,就会导致这个错误。 另外,还需要确保索引器指定的索引值在Series中存在。如果指定的索引值不存在,也会触发这个错误。 解决这个错误的方法包括: 1. 确认索引器的类型是否正确,如果不正确,可以尝试使用正确的索引方式; 2. 检查索引值是否存在于Series中,如果不存在,可以尝试使用其他存在的索引值; 3. 如果使用了多个索引器,可以逐个检查每个索引器是否正确。 以下是一个示例: ```python import pandas as pd # 创建一个Series data = {"A": 1, "B": 2, "C": 3} s = pd.Series(data) # 错误的索引方式 indexer = [0, 1, 2] # 正确的索引方式 # indexer = ["A", "B", "C"] try: # 尝试使用索引器进行索引 result = s[indexer] print(result) except ValueError as e: print(e) ``` 这段代码使用了错误的索引方式,会触发 `ValueError: Incompatible indexer with Series` 的错误。将注释换成正确的索引方式,就可以避免这个错误。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值