Réponses:
Ceci peut être réalisé avec vino vnc server & remmina (les deux sont fournis par défaut avec ubuntu; sinon, installez-le en cours d'exécution sudo apt-get install remmina
). Ensuite, exécutez les commandes suivantes de l'ordinateur local dans l'invite du terminal:
ssh -Y gman@remote
. Utilisez le transfert X11 de confiance, sinon cela ne fonctionnera pas
vino-preferences
. Cela ouvrira les préférences de vino.
Cliquez également sur configure network automatically to accept connection
. Mais n'entrez aucun mot de passe, son code base64 . Puis cliquez sur fermer. Puis lancez:
sudo -s
export DISPLAY=:0.0
xhost +
/usr/lib/vino/vino-server &
Il va démarrer le serveur vino.
Déconnexion du serveur:
xhost -
Press CTRL+C twice
exit
exit
Ensuite, ouvrez remmina . Choisissez vnc
sous protocole.
Sous l' basic
onglet, mettez l'adresse du serveur dans le server
champ.
Sur l'onglet ssh, cliquez sur enable ssh tunnel
. Sous ssh authentication
, cela pourrait être password
ou public key
:
Cliquez sur Enregistrer. Ensuite, double-cliquez sur nom-connexion (home-desktop comme indiqué dans l'image) pour lancer la navigation sur le bureau distant.
x11vnc
est un simple serveur VNC et vous n’aurez pas à vous soucier des paramètres de Gnome ou de 500 pare-feu, mais installez-le x11vnc
sur tous vos ordinateurs (avec marionnette ou tout ce que vous utilisez pour le contrôle en masse).
Ensuite, à partir de votre ordinateur local, lancez:
ssh user@host -L 5900:localhost:5900 "x11vnc -display :0 -noxdamage"
Évidemment, permuter user@host
entre le nom d'utilisateur et le nom d'hôte / IP de l'ordinateur distant.
Et puis utilisez un client VNC de votre choix pour vous connecter localhost:5900
. La commande SSH démarre un serveur vnc sur l’ordinateur distant, puis redirige ce port par SSX. Vous n'avez pas besoin d'ouvrir de ports (tant que vous pouvez déjà utiliser SSH).
Si vos paramètres d’affichage sont amusants sur vos ordinateurs, il vaut mieux laisser le -display :0
segment dans la commande SSH désactivé . x11vnc
tentera alors automatiquement de trouver le bon affichage.
Source: askubuntu
vncviewer localhost::5900 -viewonly -encodings "tight" -quality 0
(sous Debian / Ubuntu, le visualiseur provient de tightvnc) ou vncviewer localhost::5900 -viewonly -PreferredEncoding tight QualityLevel=0
(sous Red Hat / Fedora, le visualiseur est issu de tigervnc), où le niveau de qualité sur Debian et Redhat est égal à. entre 0 et 9, où 9 est le meilleur, mais nécessite une connexion rapide.
vncviewer
une connexion lente. Personnellement, je vais probablement régler QualityLevel=4 or 5
parce que 0 qualitylevel
(ce qui est 256 colors
, je pense) est trop ennuyeux pour moi.
-auth guess
et l'exécuter en tant que root. Très utile, merci!
En supposant que vous ayez déjà configuré et OpenSSH Server
sur votre ordinateur hôte, vous devez d'abord activer le contrôle du bureau sur votre ordinateur hôte. Si vous pouvez d'abord activer le contrôle du bureau sur votre ordinateur hôte localement, allez à 1a. Si vous devez d'abord activer le contrôle du bureau sur votre ordinateur hôte à distance, dirigez-vous sur 1b.
Créez ensuite un profil de client de bureau à distance sur votre ordinateur client afin de vous connecter à la machine hôte via un tunnel SSH et, au final, de visualiser et de contrôler le bureau de la machine hôte via un tunnel SSH.
Procédez comme suit sur la machine hôte:
vino-preferences
vino-preferences
aussi dans Dash sous Desktop Sharing
Allow other users to view your desktop
Allow other users to control your desktop
Require the user to enter this password
Procédez comme suit sur la machine client, en remplaçant 123.123.12.3
par l'adresse IP de votre machine hôte:
ssh -Y 123.123.12.3
vino-preferences
vino-preferences
aussi dans Dash sous Desktop Sharing
Allow other users to view your desktop
Allow other users to control your desktop
Require the user to enter this password
Procédez comme suit sur la machine cliente:
remmina
Remmina Remote Desktop Client
Ctrl+ Nou Connexion> Nouveau
Server
SSH
ongletEnable SSH Tunnel
SSH Authentication
<username>
mode etSur la machine cliente, lorsque <username>
le mot de passe vous est demandé , entrez-le pour créer le tunnel SSH. Lorsque le système vous demande le mot de passe VNC, entrez la phrase secrète que vous avez précédemment saisie dans la machine hôte.
En cas de succès à cette étape, vous devriez maintenant afficher et contrôler le bureau de la machine hôte à partir de votre ordinateur client via un tunnel SSH.
J'ai pu configurer une nouvelle installation Ubuntu 16.04 à partir d'une connexion ssh distante avec le script suivant:
#! / bin / bash export AFFICHER =: 0 read -e -p "Mot de passe VNC: mot de passe" -i "ubuntu" dconf write / org / gnome / desktop / accès à distance / enabled true dconf write / org / gnome / desktop / accès à distance / prompt-enabled false dconf write / org / gnome / desktop / accès à distance / authentication-methods "['vnc']" dconf write / org / gnome / desktop / accès à distance / require-encryption false dconf write / org / gnome / desktop / accès-distant / mot-de-passe-vnc \ "\ '$ (echo -n $ mot de passe | base64) \' \" dconf dump / org / gnome / ordinateur de bureau / accès à distance / sudo service lightdm restart
La citation est importante pour n'importe quel paramètre de chaîne (ticks simples entre guillemets). Pour que dconf puisse l'écrire, il faut avoir accès à XWindows. C'est pourquoi la partie exportation DISPLAY est nécessaire. Je pense que vous devez toujours être connecté au bureau sur la machine Ubuntu pour vous connecter à VNC après cela. La commande dump est juste là pour confirmer que tous les paramètres ont bien pris, vous n'avez pas vraiment besoin de ça.
Vous pouvez éventuellement le faire si vous souhaitez conserver l'affichage tout le temps:
dconf write / org / gnome / desktop / screensaver / verrouillé-activé false dconf write / org / gnome / bureau / économiseur d'écran / Ubuntu-lock-on-suspendre false dconf write / org / gnome / desktop / session / idle-delay "uint32 0"
Xnest
avec X11 forwording pour démarrer une session à distance et la transférer sur votre ordinateur actuel. (Je le fais de temps en temps avec ma pi) page de manuelJ'utilise Xnest
comme si:
Xnest :1 -ac &
DISPLAY=:1 . /etc/X11/Xsession
Comment démarrer le serveur Vino à distance sans transférer X (ligne de commande uniquement)
Connectez-vous à l'ordinateur distant en tant qu'utilisateur qui partagera son poste de travail et transmettez le port 5900 au même port sur localhost. Avec PuTTY, la redirection est définie dans Connection / SSH / Tunnels. Avec une ligne de commande, utilisez:
ssh -L 5900:localhost:5900 user@remote-computer
Installez vino-server
si ce n'est pas déjà installé. Par exemple:
sudo apt install vino
Activer le partage de bureau (correspondant au numéro d'affichage sur les 1ère et 2ème lignes):
echo $DISPLAY
export DISPLAY=:0
dbus-launch --exit-with-session gsettings set org.gnome.Vino enabled true
dbus-launch --exit-with-session gsettings set org.gnome.Vino prompt-enabled false
dbus-launch --exit-with-session gsettings set org.gnome.Vino require-encryption false
/usr/lib/vino/vino-server
Démarrez un visualiseur VNC et connectez-vous localhost
à l'adresse du serveur VNC.
No protocol specified Failed to connect to Mir: Failed to connect to server socket: No such file or directory Unable to init server: Could not connect: Connection refused Cannot open display: Run 'vino-server --help' to see a full list of available command line options
basé sur @Khurshid Alam répondre, je présente l'extrait suivant:
ssh $TARGETHOST -L 5900:localhost:5900 "x11vnc -localhost -display :0 -noxdamage" &; sleep 10 && vinagre localhost
C'est une commande qui ne nécessite aucune interaction
Il crée le tunnel SSH avec la redirection de port, démarre x11vnc
de manière raisonnablement sûre et lance et connecte le visualiseur VNC.
Il nécessite x11vnc sur l'hôte cible, mais aucune configuration supplémentaire
Dans le PC serveur.
Dans le PC client (à partir duquel vous souhaitez contrôler l'interface utilisateur du serveur).
Pièges.