Mettre en place SSH sur Ubuntu
SSH est un outil très puissant permettant d’établir une connection chiffrée entre une machine client et une machine serveur. Cet outil est principalement utilisé pour faire de l’administration sécurisée a distance, mais peux aussi servir a de nombreuses autres utilisations, notamment a réaliser des tunnels chiffrés.
Une connection SSH peut également servir à faire du transfert de fichier crypté, via le sftp (SSH file transfer protocol)
Configurer le serveur
Pour mettre en place SSH sur votre serveur et ainsi autoriser la connection de clients SSH, il vous suffit d’installer le paquet openssh-server
Celui ci va automatiquement ajouter le service au démarrage et permettre la connection par défaut sur le port 22.
La configuration du serveur SSH se trouve dans le fichier /etc/ssh/sshd_config
Configurer le client
Le client SSH est déjà installé par défaut sous Ubuntu. Il vous suffit d’utiliser cette commande pour vous connecter, puis de rentrer votre mot de passe tel qu’il est configuré sur le serveur
ssh [user@]host
Générer la clé publique / privée
Si vous voulez mettre en place des connections SSH sans demande de mot de passe, il va vous falloir indiquer au serveur quelles machines peuvent se connecter ainsi. Pour cela, vous devez d’abord générer votre clé publique et votre clé privée:
jos@vbox:~$ ssh-keygen Generating public/private rsa key pair. Enter file in which to save the key (/home/jos/.ssh/id_rsa): Created directory '/home/jos/.ssh'. Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /home/jos/.ssh/id_rsa. Your public key has been saved in /home/jos/.ssh/id_rsa.pub. The key fingerprint is: 6c:bc:29:fc:b9:bc:fb:f7:19:84:cf:3f:1c:b7:b3:5c jos@vbox The key's randomart image is: +--[ RSA 2048]----+ | | | | | | | o . | | S . . | | . . o + ..| | o o = E| | + . . .O.| | B=.. .oo=| +-----------------+ jos@vbox:~$
Tapez entrée a toutes les questions qu’il vous pose, notamment la passphrase.
Une fois ceci effectué, vos clés sont générées et se trouve dans le répertoire caché .ssh de votre dossier personnel.
Autoriser sa clé sur le serveur
Il existe une commande permettant d’automatiser ceci. Entrez ceci:
ssh-copy-id [user@]host
Il va vous demander votre mot de passe. Le champ « user@ » est facultatif, il ne sert que si vos noms d’utilisateurs diffèrent entre les deux machines.
Cela donne
jos@vbox:~$ ssh-copy-id 127.0.0.1 The authenticity of host '127.0.0.1 (127.0.0.1)' can't be established. RSA key fingerprint is 6d:a0:1a:09:0f:6f:e0:b7:c4:a7:1f:f7:3e:19:45:53. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added '127.0.0.1' (RSA) to the list of known hosts. jos@127.0.0.1's password: Now try logging into the machine, with "ssh '127.0.0.1'", and check in: .ssh/authorized_keys to make sure we haven't added extra keys that you weren't expecting. jos@vbox:~$
A partir de la, la connection est possible sans mot de passe
ssh [user@]host
Connection en sftp
Vous pouvez aussi utiliser le transfert de fichier en sftp vers le serveur, notamment sur l’explorateur de fichier de gnome, en tapant une adresse du type
sftp://[user@]host
En ligne de commande, il est aussi possible de faire ceci grâce a la commande scp
Copier un fichier depuis le serveur:
scp serveur:/chemin/vers/le/fichier /chemin/destination
Copier un fichier vers le serveur:
scp /chemin/vers/le/fichier serveur:/chemin/destination