我想连接到远程机器,最好是通过 SSH,然后从那里提取命令。
准确地说,我想让一台远程机器连接到我的本地机器,在那里我会有一个交互式控制台,发送命令并查看输出。
从功能上讲,它类似于 Windows 远程助手或名称。
我可以想象我将实现一个具有 GUI 的 HTTP 服务器,并且根据请求,它将永远保持连接并将我键入的任何行发送到 GUI;并接收另一方发送的所有内容作为其输出。我只需要处理 HTTP 标头。然而,这并不太优雅。
有没有这样的现成解决方案?或者可能使用nc
某种工具将 TTY 与侦听端口连接起来?
如果你运行:
socat "unix-listen:$HOME/.shell-access,mode=600,fork" \
"exec:$SHELL,pty,stderr,setsid,ctty"
Run Code Online (Sandbox Code Playgroud)
例如,这允许您执行以下操作:
socat -,raw,echo=0 "unix:$HOME/.shell-access"
Run Code Online (Sandbox Code Playgroud)
在本地连接并与该外壳交互。
然后你可以通过 ssh 远程端口转发它:
ssh -R "/path/to/socket/on/host:$HOME/.shell-access" user@host
Run Code Online (Sandbox Code Playgroud)
(假设相对较新的 openssh 版本(客户端和服务器))。
然后user
就host
可以通过这样做,与外壳进行交互
socat -,raw,echo=0 "unix:/path/to/socket/on/host"
Run Code Online (Sandbox Code Playgroud)
$SHELL
您可以运行screen -xRS some-screen-session
附加给定screen
会话,而不是运行,以便多个人可以看到相同的屏幕会话。
归档时间: |
|
查看次数: |
65 次 |
最近记录: |