ssh加参数连接交换机

简单做个记录,ssh连接一些老版本交换机时会提示密钥交换算法、主机密钥算法和加密算法不支持,可以添加参数来处理

使用这个进行连接:
ssh -o "KexAlgorithms=diffie-hellman-group14-sha1,diffie-hellman-group1-sha1" -o "HostKeyAlgorithms=ssh-rsa,ssh-dss" -o "Ciphers=aes128-cbc,3des-cbc,aes256-cbc" -o "MACs=hmac-sha1,hmac-md5" -o "StrictHostKeyChecking=no" "admin@192.168.10.10"

1、KexAlgorithms (密钥交换算法)
diffie-hellman-group14-sha1:这是首选,比 group1 更安全一些。
diffie-hellman-group1-sha1:非常老的算法,但这些老交换机通常只支持这个。如果 group14 不行, fallback 到这个。

2、HostKeyAlgorithms (主机密钥算法)
ssh-rsa:交换机使用 RSA 密钥来证明自己的身份。这是必须的。
ssh-dss (DSA):有些老设备可能使用 DSA 密钥,加上它以防万一。

3、Ciphers (加密算法)
aes128-cbc, aes256-cbc:老设备支持的 AES 加密模式(CBC 模式)。
3des-cbc:非常老的三重 DES 加密。新客户端默认禁用,但老交换机可能只支持这个。这个算法非常重要,很多华为老设备必须启用它才能连接。

4、MACs (消息验证码算法)
hmac-sha1:最常用的选项。
hmac-md5:更老的算法,如果 sha1 不行就 fallback 到这个。

5、StrictHostKeyChecking=no (可选)
首次连接时,不会提示您“是否信任此主机密钥?”而是直接接受。对于自动化脚本或在已知安全网络内非常方便。注意:这会降低安全性,因为它可能面临中间人攻击风险。

上边几条不一定需要全部加上,可以先加密钥交换和主机密钥加上试试,提示加密算法了再添加。