我试图在运行 Sierra 的 Macbook pro 上使用 torsocks 通过 ssh 建立与远程服务器的匿名连接,但没有成功。
我试过:
torsocks ssh root@THEIP
和
ssh -L 9050:127.0.0.1:9050 root@THEIP
和
ssh -o ProxyCommand="nc -X 4 -x localhost:9050 %h %p" root@THEIP
最后一个命令也会引发错误:ssh_exchange_identification: Connection closed by remote host
虽然其他两个命令可以工作,但是当我在远程服务器内部输入时,who
我得到的是我的真实 IP 地址,因此我认为 torsocks 不起作用。
怎么了?
答案1
Torsocks 通过 DYLD 注入工作。从 10.11 开始,这种修改将被新功能“系统完整性保护”禁止。它也被称为“无根”。该功能可防止对系统文件和正在运行的系统进程进行修改(即使您输入密码进行管理员访问)。
因此,在正常配置的 Mac 上,torsocks 无法使用 /usr/* 目录中的二进制文件运行。
您实际上可以关闭系统完整性保护。要关闭它,您必须重新启动进入恢复模式(这不是普通用户会执行的操作)。
在恢复模式下从终端运行:csrutil disable;
答案2
最有可能的问题在于 tor 根本没有运行。
确保 tor 已安装并作为后台服务启动。
您是否安装了 tor?我推荐brew install tor
,然后brew services start tor
。如果您没有安装 home-brew,请转到brew.is并按照命令进行设置(运行只需一行代码)。
一旦您确认 tor 正在运行,请重试您的命令并执行它。
答案3
检查一下:
ssh -o ProxyCommand='nc -x 0:9050 %h %p' [email protected]