前言:
今天大家对“centos不兼容”大约比较注重,兄弟们都想要知道一些“centos不兼容”的相关内容。那么小编也在网上网罗了一些有关“centos不兼容””的相关内容,希望小伙伴们能喜欢,兄弟们快快来了解一下吧!随着国产化的推进,原来正常使用的程序,也逐渐迁移到了国产平台上面。在国产的平台上做相应的测试工作,让其可以正常地实现预期的目标。于是就出现了文中所描述的情况。
原来的平台:X86+CentOS7,国产平台:Arm+KylinV10SP2。程序是Java开发,在测试远程连接服务器操作命令时出现问题,报错信息如下:
那么碰到此问题我们该如何解决呢?
先从错误的信息中,找到关键信息。
关键的报错信息有两个:“Key exchange was not finished, connection is closed.”和“Cannot negotiate, proposals do not match”,可以很清楚的看到是SSH连接失败,那么问题出现在SSH的原因就有很大。
尝试去找CentOS和kylin中SSH的不同点
通过在两个系统中,执行"rpm -qa |grep 'openssh'"。可以清楚的看到CentOS的版本是7,Kylin的版本是8。具体的版本Release Notes,请移步到openssh的官网查看。
查看SSH执行过程中的日志,去看详细的报错信息
Kylin系统的sshd日志,记录到messages日志中,是比较详细的。
通过上面的报错信息,很清楚地看到“no matching key exchange method found”和“no matching MAC found”,两条信息,后面紧跟"Their offer",我们只需要把对应的key和mac写入到ssh配置文件即可。
配置文件路径:/etc/ssh/sshd_config
所涉及到的mac和key。
MACs hmac-sha2-512,hmac-sha2-512-etm@openssh.com,hmac-sha2-256,hmac-sha2-256-etm@openssh.com,hmac-sha1-96,hmac-sha1,hmac-md5-96,hmac-md5
KexAlgorithms curve25519-sha256,curve25519-sha256@libssh.org,diffie-hellman-group-exchange-sha256,diffie-hellman-group-exchange-sha1,diffie-hellman-group14-sha1,diffie-hellman-group1-sha1
红色部分,为报错信息中对应的内容。
文件添加缺失的部分后,重启即可。
再次验证,完美解决此问题。本篇文章是自己的一次错误的排查及解决过程,希望大家在碰到类似的问题时,可以帮助到大家。谢谢~
标签: #centos不兼容