我必须在 Mac OS X 上设置 ssh 隧道,才能访问一些服务器。
所以我在 Mac OS 上做了:
- ssh -D 9999 用户@主机
- 在偏好系统中,我有一个代理 SOCKS(localhost:9999)
- 在 /etc/hosts 中我有服务器的 ips
- 例如,Mac Os 现在可以使用其浏览器访问服务器。
但是,使用终端时,它无法连接到服务器。我猜是因为终端不使用“偏好系统”。
那么我要做什么才能让这个隧道与终端一起工作呢?
答案1
这取决于您使用的特定命令行程序。例如,curl
有很多选项可用于使用不同版本的 socks 代理协议:
curl -s --socks5 localhost:9999 http://myip.is/ | grep javascript:doCopy
(这应该显示您通过 ssh 进入的计算机的公共 IP。)
答案2
不确定你是否输入了错误 - 看起来你的 ssh 命令中有三个 9,而你的 socks 中有四个 9
您在终端上使用什么程序,该程序很可能必须配置为使用本地代理。
答案3
只有少数程序可以原生使用 SOCKS 代理。不过,有些程序可以通过 tsocks 等工具强制通过代理。
不错的替代方案:创建监听 127.0.0.X 的隧道,X 从 2 开始并随着每个服务器的增加而增加,然后相应地编辑主机。
ssh -L127.0.0.2:80:server:80 user@proxy