(SISR2-2016) Anthony Varin, Alexandre Saligny
Utiliser la commande :
apt install ssh //ou apt install openssh-server
La connexion distante à une machine hébergeant le service SSH s'établit par la commande ssh ou un client dédié comme Putty.
ssh -l <nomCompte> <IPServeurDistant> //ou ssh <nomCompte>@<IPServeurDistant>
Pour des raisons de sécurité, l'établissement d'une connexion en SSH avec un compte super-utilisateur n'est plus autorisée (il existe des commandes pour lever cette interdiction, au risque d'ouvrir une faille de sécurité dans le système ; voir ci-après).
Il est donc nécessaire de suivre la procédure suivante :
Pour autoriser l'accès distant avec un compte root (déconseillé, à réserver à des cas précis et obligatoires), on éditera le fichier /etc/ssh/sshd_config , pour y ajouter ou décommenter la ligne :
PermitRootLogin yes
Lorsque l'on souhaite établir une connexion distante récurrente sans nécessiter de renseigner le compte et le mot de passe à chaque connexion (par exemple pour automatiser une sauvegarde), on réalisera la procédure suivante :
Pour créer la clé et son certificat, on utilisera la commande :
ssh-keygen –t {rsa|dsa} [-b <nombre_bits>]
une fois la commande exécutée ce type de message apparaît.
On peut renseigner la passphrase si on veut sécuriser la connexion par un code d'accès
Generating public/private rsa key pair. Enter file in which to save the key (/~root/.ssh/id_rsa): Enter passphrase (empty for no passphrase): #(la passphrase crypte la clé publique est augmentent ainsi la sécurité de la communication) Enter same passphrase again: Your identification has been saved in /~root/.ssh/id_rsa. Your public key has been saved in /~root/.ssh/id_rsa.pub. The key fingerprint is: da:21:b7:c9:ef:81:76:de:80:02:54:51:06:03:17:25 The key's randomart image is: +--[ RSA 2048]----+ | ..E*+ | | o + | | . | | . | | . . S | | . * * | | o O + | | o + + | | .+ . | +-----------------+
On peut alors recopier la clé sur la cible, ce qui permettra ensuite d'établir une connexion SSH sans interaction avec le <compte> utilisé pour la copie.
ssh-copy-id -i <chemin/clé_publique> <compte>@<IP_ou_FQDN_cible>
A TRIER et replacer au bon endroit La commande ssh-add : permet de sauvegarder la passphrase dans une mémoire cache, car sinon il redemande à chaque fois qu'on relance le script, la passphrase. Mais si on éteint la machine, il oublie la passphrase.
Si la commande ne fonctionne pas il faut utiliser la commande ssh-agent /bin/bash puis retaper la commande ssh-add
Installation du paquet sshpass avec la commande :
apt install sshpass
Pour éviter de devoir renseigner le mot de passe à chaque fois dans le script .
Script.bash :
#! /bin/bash echo off while read nom ip do sshpass –f motpasse.txt ssh-copy-id –i id_rsa.pub $nom@$ip echo –e "machine" $ip "déployée" >> sshpass.log done < ./machine.csv
Installer le paquet ssh sur les postes utilisateurs avec la commande : apt-get install ssh