#经过Wiregurard连接的两台电脑无法进行SSH连接,困扰我几天,最终解决的过程#
主电脑:10.79.12.31 OS:Debian 11
被连接的电脑:10.79.12.32 OS: Debian 12
上面的 IP 请自行替换
1. 测试网络是否通畅
ping 10.79.12.32
通过上面的测试,验证网络是正常的
2. 进行 SSH 连接
直接用 ssh 10.79.12.32 时,终端一直卡住不动, 通过详细日志查看连接的具体过程
ssh -vT 10.79.12.32
最终执行时,卡在 debug1: expecting SSH2_MSG_KEX_ECDH_REPLY
3. 解决问题
ssh -vT -o KexAlgorithms=ecdh-sha2-nistp521 root@10.79.12.32
输入连接目标电脑的秘密,不显示直接输入后回车
卡着时直接按 Ctrl + C
4. 生成秘钥
ssh-keygen -t rsa
回车三次,就可以生成秘钥
查看是否生成秘钥
cd ~/.ssh
ls -al
其中 id_rsa 是私钥;id_rsa.pub 是公钥
5. 把公钥传输到目标电脑
ssh-copy-id -i ~/.ssh/id_rsa.pub -o KexAlgorithms=ecdh-sha2-nistp521 root@10.79.12.32
按提示输入 yes 和 目标电脑的 root 用户密码
6. ssh 连接目标电脑
ssh -o KexAlgorithms=ecdh-sha2-nistp521 root@10.79.12.32
ip a
记得要增加参数 -o KexAlgorithms=ecdh-sha2-nistp521
连接成功后,我们可以验证
7. 把参数加到ssh配置文件中去
如果感觉每次都要带参数,比较麻烦,可以把参数写入配置文件中
vim ~/.ssh/config
cat ~/.ssh/config
按 i 后输入 KexAlgorithms=ecdh-sha2-nistp521
再按 ESC 输入 :wq
重启 ssh 服务
service ssh restart
连接测试
大功告成!欢迎收藏并点赞。
大家有问题欢迎加微信讨论!