ssh 隧道无法与终端一起工作

ssh 隧道无法与终端一起工作

我必须在 Mac OS X 上设置 ssh 隧道,才能访问一些服务器。

所以我在 Mac OS 上做了:

  1. ssh -D 9999 用户@主机
  2. 在偏好系统中,我有一个代理 SOCKS(localhost:9999)
  3. 在 /etc/hosts 中我有服务器的 ips
  4. 例如,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

相关内容