![通过 ssh 隧道使用 vnc 客户端](https://linux22.com/image/1334258/%E9%80%9A%E8%BF%87%20ssh%20%E9%9A%A7%E9%81%93%E4%BD%BF%E7%94%A8%20vnc%20%E5%AE%A2%E6%88%B7%E7%AB%AF.png)
笔记本电脑(osx-家庭网络)------>主机 1(linux-pc-大学网络)---->主机 2(linux-pc-使用端口 5901 上的 vncserver,只能从主机 1 访问)
我可以使用以下命令通过 ssh 访问 host2:
- [用户@笔记本电脑 ~]$ ssh 用户1@主机1
- [用户1@主机1 ~]$ ssh 用户2@主机2
我需要从“笔记本电脑”使用 ssh 隧道访问 host2 vncserver。还有,有哪款 vnclient 适合执行此任务吗?
答案1
有多种选择。首先,您需要设置 TCP 隧道。
如果在主机 1 上的 sshd_conf 中没有禁用到本地网络的端口转发,那么这就足够了:
ssh-t-L 5901:主机 2 的 IP 地址:5901 用户@主机1
否则您需要建立一个端口转发链:
ssh -L 5901:127.0.0.1:15901 user1@Host1 ssh -L 15901:127.0.0.1:5901 user@host2
如果使用密码验证连接host2,则-t
在第一个中添加一个选项ssh
:
ssh -t -L 5901:127.0.0.1:15901 user1@Host1 ssh -L 15901:127.0.0.1:5901 user@host2
然后使用vncviewer
您选择的方式连接到显示器localhost:1
。我更喜欢使用 TigerVNC。