如何在接收端打开没有SSHD的shell?

Lar*_*der 2 ssh shell sshd

我有一台没有 SSHD 的机器,我想从远程机器(我可以完全控制)在这台机器上打开一个 bash shell。

由于我在有限的机器上有 SSH,我配置了一个反向代理:

$ ssh -R 19999:localhost:22 remoteuser@remotemachine
Run Code Online (Sandbox Code Playgroud)

现在我在端口 19999 上建立了从“完全控制”机器到“受限”机器的连接。我将如何使用此设置打开外壳?

Jak*_*uje 5

您可以将来自某个端口的输入直接通过管道传输到bash. 这是滥用软件中的各种错误时的常见做法。例如,在您的完全访问机器上运行:

nc -lvp 9999
Run Code Online (Sandbox Code Playgroud)

在有限的机器上

/bin/bash -i >& /dev/tcp/192.168.122.1/9999 0>&1
Run Code Online (Sandbox Code Playgroud)

其中192.168.122.1是全控机的IP。

这将为您提供第一台机器中第二台机器的外壳。但请注意,连接未加密。如果您想要加密,则需要添加 TCP 转发步骤(类似于您在上面提出的建议)。

  • 效果很好!有没有办法通过 SSH 连接从受限计算机到完全控制计算机建立此连接?或者可以使用其他类型的加密吗? (2认同)