使用Surge开启SSH代理无法通过私钥连接的原因

本文最后更新于:2023年5月23日 晚上

问题

SSH代理

如果不通过密码开启SSH代理就必须使用私钥,使用RSA私钥可以通过ssh连接服务器,但是在Surge设置后出现了ssh authorazition failed的情况,测试代理不通。

解决

结论放在前面:RSA密钥加密方式不对,更换到ed25519加密方式重新生成密钥

Surge的SSH代理相当于ssh -D命令,开启动态端口转发功能。

如果用的是dropbear这种非openssh工具,是不可以的。

先来检查SSH的加密方式:

1
ssh -v name@host

找到输出中的:

1
debug1: kex: algorithm: curve25519-sha256

代表用的是25519这种加密方式,而我的密钥是RSA的,虽然可以登录,但不能Surge代理用。这种方式是新版本默认的加密方式,如果你的结果不同,那么下面的密钥你也要换成和这里一样的加密方式。

重新生成密钥:

1
ssh-keygen -t ed25519 -C 'xxx@email.com'

把公钥加入服务器->Surge添加私钥到密钥库->重新测试代理连接


使用Surge开启SSH代理无法通过私钥连接的原因
https://ash-one.github.io/2023/05/23/shi-yong-surge-kai-qi-ssh-dai-li-wu-fa-tong-guo-si-yao-lian-jie-de-yuan-yin/
作者
灰一
发布于
2023年5月23日
许可协议