月度归档:2025年09月

连接ssh-rsa公钥的SSH服务器

家里的路由器很多年没有动了,用得好好的,也没有理由去动。今天忽然想ssh上去看看什么情况,然后就这样了:

root@bwh81:~# ssh root@xxx.tpu01yzx.me -p 999 Unable to negotiate with 121.xx.xx.219 port 999: no matching host key type found. Their offer: ssh-rsa

经过调查后发现,原来是主机的公钥使用SSH-RSA方案,而这个方案里采用了不安全的SHA1算法,因此被主流的SSH客户端所抛弃,默认不接受这种方案的公钥。然后老旧的路由器实在不想乱动,程序员都懂的,能跑的程序就不要乱动了。这样的话,只能从客户端这边下手,明确告诉客户端接受这种公钥。于是现在连接的命令应该是这样的:

ssh -o HostKeyAlgorithms=+ssh-rsa -o PubkeyAcceptedAlgorithms=+ssh-rsa root@xxx.tpu01yzx.me -p 999

至此,问题完美解决。当然了,如何还想继续折腾搞什么配置文件的,除了消耗时间看文档实在没什么益处,就此鸣金收兵。