![查看 SSH 连接列表并使用屏幕查看特定连接](https://linux22.com/image/1400638/%E6%9F%A5%E7%9C%8B%20SSH%20%E8%BF%9E%E6%8E%A5%E5%88%97%E8%A1%A8%E5%B9%B6%E4%BD%BF%E7%94%A8%E5%B1%8F%E5%B9%95%E6%9F%A5%E7%9C%8B%E7%89%B9%E5%AE%9A%E8%BF%9E%E6%8E%A5.png)
我有一个朋友通过 SSH 连接,我想查看他的屏幕,看看他在我们项目中的进度以及他正在做什么。这就像在监视他一样。
我想知道如何做到这一点。目前我只能查看通过 screen 命令创建的屏幕,但是通过 SSH 连接时创建的屏幕会话怎么办?
我确实需要一些建议。谢谢!
答案1
如果我理解正确的话,我相信我有一个脚本可以完成你想要的功能。请参阅以下链接:
为了使其正常工作,您需要password authorization
关闭并能够通过public key exchange
以及TCP Forwarding
打开(在服务器端,即您朋友的计算机)。
或者...
您可以快速完成,只需执行以下 1 行(您仍然需要TCP Forwarding : on
)。该脚本只是一种便利,因为我不想每次尝试连接到多个服务器或只是绑定到同一台机器上的多个端口时都输入所有这些内容。
ssh -p $port -N -L $local_port:127.0.0.1:$remote_port $user@$ip
$port
是远程机器正在监听的 ssh 端口。$local_port
是您要连接的计算机上的本地端口。$remote_port
是您将本地端口绑定到的朋友计算机上的远程端口。$user
是用于 ssh 连接的用户名。$ip
是 ssh 将用于连接的 ip 地址。
连接后,无论你输入了什么,$local_port
都会有一个隧道(通过 ssh)到你朋友的远程计算机,无论你输入了什么$remote_port
。
因此,如果您想查看朋友的屏幕,您可以将 VNC 查看器指向127.0.0.1:$local_port
($local_port 是您在$local_port
上面输入的任何值)。
当然,这假设你的朋友首先有一个正在运行的 VNC 服务器。