隐藏我要登录的地方?

隐藏我要登录的地方?

我已连接到公共 FreeBSD 系统,并且希望能够连接到其他服务器而不透露(通过w等方式)我连接到的位置,我该如何实现这一点?

答案1

内核将跟踪您的连接,您对此无能为力。我什至不确定特权将在这里为您提供帮助(至少没有一些内核模块魔法)

如果你想隐藏在哪里你要走了,最好的办法可能就是假装你要走了别的地方反而。换句话说:使用代理或任何可以安全地中继 SSH 连接。

大的强调安全地这里。确保维护端到端加密,并且不要让第三方为您打开 SSH 通道。

例如你可以使用torsocks,这将允许您通过 ToR 中继 TCP 流。这样,而不是lsof暴露...

$ ssh remotehost

$ lsof SSH_PID              # in another terminal
ssh   SSH_PID   you   TCP   localhost:xx->remotehost:ssh (ESTABLISHED)

你会得到...

$ torsocks ssh remotehost

$ lsof SSH_PID              # in another terminal
ssh   SSH_PID   you   TCP   localhost:yy->localhost:9050 (ESTABLISHED)

这里的区别在于,它将ssh连接到本地 ToR SOCKS 服务器,而不是直接连接到远程主机。 ToR 的好处在于,即使是本地 ToR 流程也不会透露您的目的地:

$ lsof TOR_PID
tor   TOR_PID   tor   TCP   localhost:zz->tornode:https (ESTABLISHED)

ToR服务器首先连接到ToR节点

这里的另一个优点是,您不仅可以从源中隐藏目标,而且还可以从目标中隐藏源。您要连接的远程主机将看到来自 ToR 网络的连接。当然,现在取决于另一个系统管理员是谁,这个小技巧可能不会持续很长时间。

通过一些调整,可能可以安装与用户空间权限类似的东西。您可能可以在主目录中编译一些内容并开始。如果没有,那么您可能必须选择其他内容进行中继。一种可能性是“牺牲”一台远程机器来充当其他机器的中继:您总是ssh先使用该机器,然后再连接到其他机器。

答案2

由于w打印的是终端控制的进程的进程命令行,因此它只会显示您在命令行中键入的内容。所以你只需要修改主机名即可。

根据吉尔斯的评论,您可以设置.ssh/config如下:

Host bogusname
HostName real-address.org
Port 2222
# <other options>

在命令行上,您可以通过以下方式连接

ssh bogusname

将配置文件设置为只读,这样您就可以将其半秘密了。

但是,这不会阻止某人使用netstat -nap或类似的东西来确定答案。但它至少看起来无害,这样使用的人w就不会产生怀疑。

相关内容