Installation et utilisation d’un serveur SSH

Il peut être utile de prendre le contrôle a distance d’une machine, par exemple, la machine de mes parents, faire leurs mises a jour, ou géré l’installation du programme que mon père réclame, accéder a des fichiers stocké sur celle-ci, ou tout simplement administrer son serveur.

https://i2.wp.com/download.tuxfamily.org/passionlinux/images/png/logo_openssh323b.png?w=840

Le client SSH est installé par défaut sur debian/ubuntu et permet de se connecter a tout serveur SSH et peu importe la plate-forme (Linux, bsd, windows,…, pour windows on se servira du client putty…).

Le serveur/client SSH utilisé sous debian/ubuntu est OpenSSH qui nous vient du monde BSD, pour installer ce couple, il suffit de faire dans un terminal en root :

 # apt-get install openssh-server openssh-client

ou simplement

 # apt-get install ssh

Utilisation

Je prends mon cas comme exemple, j’ai un ordinateur équipé de debian et d’une connexion internet(ça va sans dire…), mes parents ont eux aussi une connexion internet et une machine équipé d’ubuntu(plus exactement ubuntu12.04). Chez moi je reçois un appel de mes parents me disant que telle tache ne peut être fait car il manque telle programme, ou que je dois faire leurs mises a jour(ils n’en sont pas friand) ou tout simplement besoin de transférer des dossiers.

Pour me connecter a cette machine, il faudra que la machine de mes parents réponde a une adresse fixe et du coup configuré la machine avec un serveur dns comme dyndns qui se chargera de me donner un nom de machine connu sur internet et reflétant mon adresse ip du style mesparents.ubuntu.org. Ou que mes parents fasse un whatismyip sur google ce qui pourrait donner 78.55.128.1. Je n’aurais plus qu’a utiliser la commande :

 $ ssh mesparents.ubuntu.org

ou l’adresse ip :

 $ ssh 78.55.128.1

On peut même préciser un port si on a changé le /etc/fail2ban/jail.conf de cette manière :

 $ ssh 78.55.128.1 -p 48888

Dans ce cas le -p veut dire port et 48888 est le numéro du port utilisé au lieu du port 22 par défaut. Dans tout les cas une demande de mot de passe utilisateur suivra, et une fois rentré j’aurais accès au Shell de leur machine. Quand j’en aurais fini, je fermerais la session avec la commande :

 papa@mesparents.ubuntu.org : $ exit

Pour en savoir un peu plus, je vous conseille l’excellent livre Debian Etch cahier de l’admin et surtout sa version plus recente. On pourra aussi se fier a la bonne documentation d’ubuntu.fr dont la partie 3.2 Authentification par un système de clés publique/privée.

Encore une fois je rajouterais une chose, comme tout service activé sur une machine personnel, il faudra sécuriser l’ensemble, des règles de pare-feu et notamment l’installation de Fail2ban.

 

Si vous ouvrez votre serveur SSH sur Internet, par exemple pour y accéder depuis l’ordinateur d’un ami(e) ou lui permettre d’accéder à certains de vos fichiers, n’oubliez JAMAIS qu’Internet est parcouru en permanence par des robots qui scannent et testent en permanence tous les serveurs (SSH et autres) et qu’ils vont faire des tentatives pour trouver vos mots de passe de compte.

L’usage des clés est donc fortement recommandé. Sinon utilisez des mots de passe longs et complexes ou encore utilisez des systèmes de protection comme fail2ban qui permet de bannir des adresses IP.