Description
Description
Description
SSH
Description
SSH signifie Secure SHell
Protocole qui permet de faire des
connexions sécurisées (i.e. cryptées)
entre un serveur et un client SSH.
La totalité de la transaction entre un
client et le serveur est cryptée.
L'établissement d'une connexion
SSH
Un serveur SSH dispose d'un couple
de clés RSA stocké dans le répertoire
/etc/ssh/ et généré lors de
l'installation du serveur.
Le fichier ssh_host_rsa_key contient la
clé privée et a les permissions 600.
Le fichier ssh_host_rsa_key.pub
contient la clé publique et a les
permissions 644.
L'établissement d'une connexion
SSH
1. Le serveur envoie sa clé publique au
client.
2. Le client génère une clé secrète et
l'envoie au serveur, en cryptant
l'échange avec la clé publique du
serveur.
3. Le serveur décrypte la clé secrète en
utilisant sa clé privée, ce qui prouve
qu'il est bien le vrai serveur.
L'établissement d'une connexion
SSH
1. Pour le prouver au client, il crypte un
message standard avec la clé secrète
et l'envoie au client.
2. Une fois la clé secrète échangée, le
client et le serveur peuvent alors
établir un canal sécurisé grâce à la clé
secrète commune (cryptographie
symétrique).
3. La canal sécurisé reste en place
jusqu'à ce que l'utilisateur se
déloggue.
L'établissement d'une connexion
SSH
La seule contrainte est de s'assurer
que la clé publique présentée par le
serveur est bien sa clé publique.
demander à l'administrateur du
serveur quelle est le fingerprint de la
clé publique du serveur.
Le fingerprint d'une clé publique est
une chaîne de 32 caractères
hexadécimaux unique pour chaque clé.
il s'obtient grâce à la commande ssh-
Installation du client
authorized_keys ou authorized_keys2:
ce fichier contient une liste de clés
publiques "autorisées".
id_dsa: contient l'identité
d'authentification DSA de l'utilisateur.
id_dsa.pub: la clé DSA publique de
l'utilisateur.
id_rsa: la clé RSA publique utilisée par
sshd pour la version 2 du SSH.
Installation et Configuration du
serveur SSH
# apt-get install openssh-server
/etc/ssh/sshd_config:
Port 22: Signifie que le serveur SSH
écoute sur le port 22.
PermitRootLogin yes: Signifie que vous
pouvez vous logguer en root par SSH.
X11Forwarding yes: Signifie que vous
allez pouvoir travailler en export display
par SSH.
Authentification par mot de
passe
ssh login@nom_DNS_du_serveur_SSH
Si c'est la première connexion SSH
depuis ce client vers ce serveur, il
vous demande si le fingerprint de la
clé publique présentée par le serveur
est bien le bon.
la clé publique du serveur est alors
rajoutée au fichier
~/.ssh/known_hosts.
Entrez votre mot de passe.
Authentification par clé
Générer ses clés
ssh-keygen -t dsa
Les clés générées (pub et priv) ont par
défaut une longueur de 1024 bits.
la clé privée est stockée dans le fichier
~/.ssh/id_dsa avec les permissions
600
la clé publique est stockée dans le
fichier ~/.ssh/id_dsa.pub avec les
permissions 644.
il vous demande une pass phrase.
Authentification par clé
Autoriser votre clé publique
Copier votre clé publique dans le
fichier ~/.ssh/authorized_keys de la
machine distante.
ssh-copy-id -i ~/.ssh/id_dsa.pub
login@nom_DNS_du_serveur
ssh login@nom_DNS_du_serveur_SSH
Transfert de fichiers par SSH