問題描述
MAC OS從10.10 Yosemite 升級到 10.12 Sierra后呻此,SSH登錄某shell Server失敗备禀,提示錯誤:no matching host key type found. Their offer: ssh-dss壁公。
根本原因
之所以報錯是因為OpenSSH 7.0以后的版本不再支持ssh-dss (DSA)算法感论,官方的說法是這個算法太弱了。
MAC OS升到10.12附帶的openssh版本是7.4, 如下:
? ~ sshd -V
sshd: illegal option -- V
OpenSSH_7.4p1, LibreSSL 2.5.0
usage: sshd [-46DdeiqTt] [-C connection_spec] [-c host_cert_file]
[-E log_file] [-f config_file] [-g login_grace_time]
[-h host_key_file] [-o option] [-p port] [-u len]
解決辦法
- 命令行里添加選項
ssh -oHostKeyAlgorithms=+ssh-dss user@legacyhost
- 添加
HostKeyAlgorithms +ssh-dss
到配置~/.ssh/config
Host somehost.example.org
HostKeyAlgorithms +ssh-dss