web-dev-qa-db-fra.com

VNC vino over SSH tunnel UNIQUEMENT

Je cherche depuis des heures, je n'arrive pas à comprendre.

J'essaie de faire ce qui suit:

Client: remmina + tunnel ssh

Serveur: Lubunt + openssh serveur (authentification par clé publique) + vino serveur sur tunnel ssh ONLY + autorise le client à n'ouvrir qu'un seul port (port vnc)

Jusqu'à présent, je peux apparemment me connecter à mon serveur dans les deux sens (avec et sans tunnel ssh), ce qui est inacceptable.

Courir vino-preferences L'interface graphique ne m'aide pas beaucoup: s

Donc, ma question est essentiellement la suivante:

  • "Comment puis-je bloquer toute ouverture de port sur le serveur et uniquement un seul port SSH (22) et permettre au client de tunneler VNC sur SSH via un port spécifique (si cela a du sens)?"
  • Aucun autre type de connexion VNC ne devrait être autorisé

P.S. Je prévois de transférer le port 22 du routeur sur mon serveur et d’autoriser uniquement les connexions SSH.

1
GogromaT

Autant que je sache, l'interface graphique vino-preferences ne l'inclut pas, mais je crois que le paramètre que vous recherchez est network-interface

gsettings get org.gnome.Vino network-interface

Si non défini (c'est-à-dire que la commande ci-dessus renvoie la chaîne vide, ''), vino-server écoute toutes les interfaces disponibles, alors que s'il est défini sur lo

gsettings set org.gnome.Vino network-interface 'lo'

alors il n'écoutera que sur l'interface lo (localhost).

Vous pouvez également utiliser l'interface graphique dconf-editor, où le paramètre est répertorié sous l'élément org -> gnome -> desktop -> remote-access.


Vous pouvez confirmer que le serveur écoute sur l'interface souhaitée à l'aide de netstat par ex. la valeur par défaut est

$ Sudo netstat -nlp | grep ':5900'
tcp        0      0 0.0.0.0:5900            0.0.0.0:*               LISTEN      10927/vino-server
tcp6       0      0 :::5900                 :::*                    LISTEN      10927/vino-server

(écoute sur toutes les interfaces disponibles); puis après

$ gsettings set org.gnome.Vino network-interface 'lo'

vous devriez voir qu'il écoute uniquement sur la ou les interfaces localhost:

$ Sudo netstat -nlp | grep ':5900'
tcp        0      0 127.0.0.1:5900          0.0.0.0:*               LISTEN      10927/vino-server
tcp6       0      0 ::1:5900                :::*                    LISTEN      10927/vino-server

Alternativement (ou en plus), vous pouvez utiliser iptables ou ufw pour fermer le port - par défaut, il s'agit du port 5900 + numéro d'affichage.

2
steeldriver