由于openssh对于的策略更新导致openssh无法直接连接ENSP内的模拟设备(贴主在锐捷的老旧设备内也遇到此问题,但设备不在身边不清楚是否都能解决),并会报错:Unable to negotiate with hostname port 22: no matching key exchange method found. Their offer: diffie-hellman-group1-sha1,diffie-hellman-group-exchange-sha1,虽然现在已经可以通过CRT等软件SSH设备,但是当我们在python自动化等场景下仍会默认使用到OPENSSH。以上问题主要因为老旧的密钥交换规则被禁用了,需要手动指定。

按照提示的内容加入-o KexAlgorithms=+diffie-hellman-group-exchange-sha1  的参数后仍会有继续报错并提示其他参数。所以这里我就直接整理了需要的参数,帮助大家直接指定OPENSSH使用特定的密钥交换规则。

ssh -o MACs=hmac-sha1 -o HostKeyAlgorithms=+ssh-dss 
-o PubkeyAcceptedKeyTypes=+ssh-dss 
-o KexAlgorithms=+diffie-hellman-group-exchange-sha1 
-o Ciphers=aes128-cbc 
user@hostname

Logo

火山引擎开发者社区是火山引擎打造的AI技术生态平台,聚焦Agent与大模型开发,提供豆包系列模型(图像/视频/视觉)、智能分析与会话工具,并配套评测集、动手实验室及行业案例库。社区通过技术沙龙、挑战赛等活动促进开发者成长,新用户可领50万Tokens权益,助力构建智能应用。

更多推荐