PC-A:本地机器,我想从那里查看远程机器 [Fedora]
PC-B:远程机器,vnc 服务器将在其中 [Ubuntu]
安装 vnc 客户端 [从您要连接的地方] PC-A
yum -y install vinagre
ssh 到目标机器 [从 PC-A 到 PC-B],然后:[如果 PC-B 在 NAT 之后,则端口转发 ssh 端口!]
在 PC-B 上使用 root
您将需要“universe”存储库 [ vi /etc/apt/sources.list ]
apt-get update; apt-get -y upgrade; apt-get install -y tightvncserver
exit
普通用户仍在 PC-B 上
tightvncserver give a very-very-very good password!!
echo 'gnome-session &' >> ~/.vnc/xstartup
如果您在 OpenWrt 路由器中需要有关端口转发规则的帮助 [在 10.03 上测试]
添加端口转发规则
iptables -t nat -I prerouting_wan -p tcp --dport 22 -j DNAT --to REMOTE-PC-B-PRIVATE-IPADDRESS:22
iptables -I forwarding_wan -p tcp --dport 22 -d REMOTE-PC-B-PRIVATE-IPADDRESS -j ACCEPT
删除端口转发规则
iptables -t nat -D prerouting_wan -p tcp --dport 22 -j DNAT --to REMOTE-PC-B-PRIVATE-IPADDRESS:22
iptables -D forwarding_wan -p tcp --dport 22 -d REMOTE-PC-B-PRIVATE-IPADDRESS -j ACCEPT
请记住,未加密的 vnc 流量!所以 ssh 隧道到目标机器 [从 PC-A 到 PC-B]
ssh -f -L 5901:localhost:5901 USERNAME@REMOTE-PC-B-PUBLIC-IPADDRESS -N -p 22
然后在 PC-A 上连接 vinagre: "127.0.0.1:5901"
ps:如果你按“d”键,它有“显示桌面”的效果,然后按“ALT+F2”然后输入:“gnome-keybinding-properties”
重要:完成后删除目标端的 vnc!
pkill vnc
apt-get purge -y tightvncserver
问题来了:这是否足够安全?VNC 连接真的只通过 SSH 隧道吗?