ssh 客户端的代理功能需要通过 nc 转发来实现。

方法一:编辑 ~/.ssh/config ,添加以下内容:

Host *
  ProxyCommand nc -X 5 -x 127.0.0.1:7890 %h %p

方法二:在命令中使用参数指定代理:

ssh -o "ProxyCommand nc -X 5 -x 127.0.0.1:7890 %h %p" user@server

nc 和代理有关命令参数:

-X:指定代理协议,4 (SOCKS v.4), 5 (SOCKS v.5) 和 connect (HTTPS 代理)。默认代理协议是 SOCKS v.5

-x:代理地址

不仅 ssh ,scp 也会读取同样的配置。


https://lvv.me/posts/2022/03/22_ssh_over_proxy/