Après une installation chez une tierce personne, par exemple chez des amis, clients…, bien souvent il vous faut accéder à leur machine quelques temps après.
Cette page se propose de vous permettre de vous y connecter grâce au visionneur de bureau distant déjà installé Vinagre et, afin de sécuriser cette connexion, d'utiliser le protocole SSH1).
Pour rappel: Il s'agit ici de la machine que l'on cherche à joindre.
ifconfig | awk '/inet adr/ {print $2}' | grep -v "127.0.0.1"
Rien tout est installé (un café si vous voulez ).
Depuis la machine cliente (votre pc), saisissez dans un terminal la commande suivante:
ssh -L 5900:localhost:5901 <Login>@<Adresse-ip> -p <Port>
Où:
Par exemple, pour vous connecter à la machine distante dont le nom d'utilisateur de la session est "ami", l'adresse public sur le net est 123.45.67.890 et dont le port redirigé est 22, saisissez
ssh -L 5900:localhost:5901 ami@123.45.67.890 -p 22
Vous devriez avoir une demande de confirmation la première fois pour valider votre connexion au serveur, puis le mot de passe du compte distant (donc le mot de passe du compte utilisateur sur la machine serveur) doit vous être demandé.
Vous êtes maintenant sur le serveur, c'est à dire la machine distante.
Vous avez donc accès à la machine distante, le problème c'est que la personne qui se trouve devant physiquement (votre ami, client…) ne voit pas forcément ce que vous faites, ou vous n'êtes pas très à l'aise avec la ligne de commande.
Pour rappel, vous avez laissez ouvert le terminal précédemment connecté.
Sur le serveur, demander à l'utilisateur distant d'ouvrir un screen avec le nom de son choix.
Par exemple, pour une session screen nommé ami, il saisira dans un terminal la commande suivante:
screen -S ami
et de votre côté entrez dans le terminal connecté par
screen -x ami
Ce que vous saisirez sera maintenant affiché en parallèle sur le terminal distant (donc sous les yeux de votre ami, client…).
toute la partie à reprendre pour simplifier.
Si vous souhaitez accéder graphiquement au serveur, vérifier sur celui-ci que vino-server est bien dans les applications au démarrage donc bien actif:
ps aux | grep vino-server
si vous avez pour seule réponse un retour au prompt c'est qu'il vous faut le démarrer par
/usr/lib/vino/vino-server &
–sm-disable?
puis de votre côté entrer
vinagre localhost:1
Une demande d'autorisation doit apparaitre sur l'écran serveur qu'il faut donc faire valider par la personne devant l'ordinateur distant.
Vous devriez être maintenant sur le pc distant et la personne qui se trouve devant physiquement (votre client, ami…) doit voir toutes vos actions.
vino-preferences
que les cases suivantes sont bien cochées:
gconftool -2 -s -t bool /desktop/gnome/remote_access/enabled true gconftool -2 -s -t bool /desktop/gnome/remote_access/prompt_enabled false
ou atteindre "vino-preferences" en ajoutant l' option -X
au moment de se connecter avec ssh (cette option n'est pas toujours acceptée selon la configuration du serveur ssh)
DISPLAY=:0.0 /usr/lib/vino/vino-server --sm-disable &
DISPLAY obligé???
remettre une note sur les effets graphique ? déplacer pré-requis à ce sujet ici?
Côté client, pour quitter votre accès à distance, quittez vinagre et les terminaux ouverts.
Côté serveur, vous pouvez arrêter le serveur ssh par
sudo service ssh stop
et vino-server par
sudo killall vino-server
Pas mieux ?
Quitter également les différents terminaux si vous avez utilisé screen.
Afin de sécuriser un peu plus cette communication, il existe différentes possibilités dont:
explication de préférence de l'un par rapport à l'autre.
Afin de sécuriser un peu plus, il est possible de changer de politique quant au port 22 attribué par défaut, souvent attaqué en premier.
Vous pouvez en effet choisir de
Les ports habituellement usités sont visibles dans le fichier /etc/services. Choisissez en donc un qui n'y apparait.
grep -w 2653 /etc/services
Si vous avez un retour au prompt pour seul réponse, c'est que vous pouvez utiliser ce port.
Si vous faites l'essai avec la valeur 22, vous constaterez qu'il s'agit du port attribué à SSH
Vous souhaitez rediriger le port 2653 entrant dans votre routeur/box vers le port 2654 de la machine 192.168.0.10 dont l'adresse public est 123.45.67.890 et le nom de session est "ami"
Port 2654
sudo service ssh restart
ssh ami@123.45.67.890 -p 2653
Si vous ne souhaitez pas que le service ssh soit activé à chaque démarrage, deux options:
Pour reprendre la main les prochaine fois, il faudra donc demander à l'utilisateur distant de démarrer ssh tel qu'indiqué dans les pré-requis.
Vino-server peut faire partie des applications démarrées à l'ouverture de session. Ne s'agissant pas ici d'un service, vous pouvez modifier ce comportement depuis votre gestionnaire de session, par exemple depuis le menu Système → Préférences → Applications au démarrage sur Gnome.
Si vous souhaitez alors avoir un retour graphique de sa machine, vous penserez donc à demander à l'utilisateur disant de le démarrer tel qu'expliqué dans cette section.
pas possible de le démarrer à distance avec DISPLAY=0.0 par exemple ?
Vous pouvez utiliser une sécurité accrue en utilisant SSH et le système de clés distantes.
:si clé ok sinon passphrase possible (pour cybercafé par exemple)?