Ceci est une ancienne révision du document !


Accéder visuellement à une machine distante via ssh

ceci est un brouillon à but perso (pour le moment) et en cours d'écriture

Après une installation chez des amis, bien souvent il me faut accéder à leur machine quelques temps après.
Pour se faire, j'ai pensé à SSH1) que je n'utilisais pas et le visionneur de bureau distant déjà installé Vinagre.
Celà me permet une prise en main graphique de la machine (Vinagre) en sécurisant d'abord cette connexion (SSH)

Pour la suite le serveur est la machine distante que l'on cherche à atteindre (le pc de l'ami quoi)
Le client est la machine qui prendra le contrôle (en gros mon pc)

Côté serveur

sudo apt-get install openssh-server

Dans un terminal vérifier que le service est bien actif:

status ssh

si la réponse est "ssh start/running, process XXXX" (ou XXXX est un nombre) c'est que le service est bien actif sinon il faut le démarrer par:

sudo service ssh start

ou

sudo /etc/init.d/ssh start
  • Connaitre son adresse IP du réseau local (pour une machine derrière une box):
ifconfig | grep inet

(devrait donner une adresse du type 192.168.0.10)

  • Sur la box rediriger le port 222) sur le pc
Sur la freebox tout se passe dans l'interface de gestion de votre compte.
Dans la section Internet sélectionner la partie Configurer le routeur.
Vérifier alors que le mode routeur est bien activé et dans le bas de cette page redirigé le port 223) vers l'adresse 192.168.1.XX:22 récupérée plus tôt.
Enregistrer ces nouveaux paramètres et de rebooter la freebox ensuite.
FIXME: UDP ou TCP ? moi j'ai mis les 2
wget http://checkip.dyndns.org/ -O - -o /dev/null | cut -d: -f 2 | cut -d\< -f 1
  • Désactiver les effets graphiques : Système → Préférences → Apparences → Onglet "Effets" → cocher "Aucun".
  • Penser à modifier la configuration du fichier /etc/ssh/sshd_config. Pour en savoir plus, se reporter à la section sécurité.

Côté Client

Rien tout est installé (un café si vous voulez :-)).

ssh -L 5900:localhost:5901 Login@Adresse-ip:Port

Login est le nom de l'utilisateur qui se trouve sur le serveur.
Adresse-ip est l'adresse "internet" du serveur.
Port est le port indiqué à rediriger dans l'interface de gestion (donc 22 par défaut ou bien 2764 pour reprendre l'exemple ci-dessus).
L'option -L 5900:localhost:5901 est facultative. C'est elle qui permet d'accéder au serveur graphique distant en passant par ssh. Si vous comptez utiliser uniquement le terminal, vous pouvez retirer cette partie

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 user sur le serveur) doit vous être demandé.
Vous êtes maintenant sur le serveur (= la machine de votre ami).

Vous avez donc accès à la machine distante, le problème c'est que votre ami ne vois 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é.

Retour visuel de la ligne de commande

Sur le serveur, demander à l'utilisateur d'ouvrir un screen avec le nom de son choix (exemple pote)

screen -S pote

et de votre côté entrer dans le terminal connecté

screen -x pote

Ce que vous saisirez sera maintenant affiché en parallèle sur le terminal distant (donc sous les yeux de votre ami).

Retour graphique de l'environnement

Si vous souhaiter accéder graphiquement au serveur, vérifier sur celui-ci que **vino-server est bien dans les applications au démarrages donc bien actif:

ps -ef | grep vino-server

si vous avez une ligne avec /usr/lib/vino/vino-server c'est que c'est bien le cas sinon saisissez

/usr/lib/vino/vino-server &

Demandez de désactiver les effets graphiques (Système/préférences/apparences/onglet effet choisir aucun.
De votre côté, entrer

vinagre localhost:1

Une demande d'autorisation doit apparaitre sur l'écran serveur, demandé à votre ami de valider.
Vous devriez être maintenant sur le pc de vote ami et ce dernier doit voir toute vos actions.

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

ou

sudo /etc/init.d/ssh stop

et vino-server par

sudo killall vino-server

Quitter également les différents terminaux si vous avez utilisé screen

  • Afin de sécuriser un peu plus, il est possible de choisir la redirection d'un autre port que le 22 sur l'interface de gestion (exemple le 2764 vers 192.168.0.10:22). La liste des ports habituellement usités sont visible dans le fichier /etc/services. Choisissez en donc un qui n'y apparait.
  • si vous ne souhaitez pas que le "démon" ssh ne soit activé à chaque démarrage (cas par défaut à l'installation su Lucid), modifier le fichier /etc/init/ssh.conf et commenter (ajouter un # au début de) la ligne start on filesystem.

Pour reprendre la main les prochaine fois il faudra donc demander à votre ami de démarrer ssh tel qu'indiqué dans les pré-requis.

  • Même chose pour vino-server, que vous pouvez retirer des applications au démarrage (Système/préférences). Penser à le démarrer en cas de besoin (cf cette section)

Mise en page et suite plus tard


1)
Secure SHell
2)
pour le moment
3)
ou autre
  • utilisateurs/fabux/vnc_via_ssh.1286912794.txt.gz
  • Dernière modification: Le 18/04/2011, 14:42
  • (modification externe)