MacOS终端SSH访问GoDaddy主机提示无匹配主机密钥类型的解决办法
解决MacOS终端SSH连接GoDaddy主机的密钥类型不匹配问题
问题根源是MacOS自带的新版OpenSSH默认禁用了ssh-rsa(基于SHA-1签名)和ssh-dss这类旧主机密钥算法,而GoDaddy主机的SSH服务仍在使用这些算法,导致双方无法协商出匹配的密钥类型。
临时单次解决方法
直接在SSH命令中指定允许的主机密钥类型,执行:
ssh -o HostKeyAlgorithms=+ssh-rsa,ssh-dss cpanellogin@hostname
执行后应该会弹出密钥密码输入提示,输入你设置的密码即可连接。
永久配置解决方法
如果不想每次连接都加参数,可以修改本地SSH配置文件,针对该主机做永久设置:
- 打开终端,编辑SSH配置文件:
nano ~/.ssh/config
- 添加以下配置(替换成你的主机域名/IP和用户名):
Host your-godaddy-host HostName xxx.xxx.xx.xxx # 替换成你的主机IP或域名 User cpanellogin HostKeyAlgorithms +ssh-rsa,ssh-dss
- 保存并退出:按
Ctrl+O,回车确认保存,再按Ctrl+X退出编辑器。
之后只需执行ssh your-godaddy-host(或者原命令ssh cpanellogin@hostname)就能正常触发密钥密码提示,完成连接。
补充说明:你能用FileZilla通过SFTP正常访问,说明密钥本身是有效的,只是终端SSH的默认配置限制了旧密钥类型。另外ssh-dss算法安全性较低,若后续GoDaddy主机支持,建议联系服务商升级为更安全的ecdsa或ed25519密钥类型。
内容的提问来源于stack exchange,提问作者KennyM
相关产品推荐
相关产品推荐

