web-dev-qa-db-ja.com

SSHトンネルでVNCを使用する方法-「これはセキュリティで保護されていますか?」

PC-A:ローカルマシン、リモートマシンを見たいところから[Fedora]
PC-B:vncサーバーが存在するリモートマシン[Ubuntu]
PC-Aに[接続する場所から] vncクライアントをインストールする

yum -y install vinagre

ターゲットマシンにsshします[PC-AからPC-Bへ]、次に:[PC-BがNATの背後にある場合、sshポートをポート転送します!]
PC-Bのルート
「ユニバース」リポジトリが必要になります[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

次にvinagreに接続します:PC-Aの "127.0.0.1:5901"

p.s .:「d」キーを押して「show desktop」のような効果がある場合は、「ALT + F2」を押してから、「gnome-keybinding-properties」と入力します。

重要:終了したら、ターゲット側のvncを削除してください!!

pkill vnc
apt-get purge -y tightvncserver


ここに質問があります:このハウツーは十分に安全ですか? VNC接続は実際に通過しますかSSHトンネルのみ

5
LanceBaynes

Ssh転送ポート(転送された5901)でローカルホスト(127.0.0.1)に接続している場合、リモートホストへの接続は暗号化されます。

7
Jeff Ferland

Localhostに接続できるすべてのローカルアプリは、リスニングするvncサービスへの攻撃に対する障壁がないため、最低でもvnc認証が有効なままであることを確認してください。

6
TobyS

100%安全であることを確認したい場合は、リモートホストで開いている唯一のポートがポート22であるSSHポートであることを確認してください。あなたは間違いなくポート59xxで何も見たくないです。それらが開いている場合、誰かがVNCに直接接続できます。ファイアウォールを変更するときは、常に nmap またはその他のポートスキャナーを使用して、開いているポートを確認してください。

nmap ip_of_your_remote_Host

または

nmap -PN -p 22,5900-5999 ip_of_your_remote_Host
1
Antonius Bloch