Outils pour utilisateurs

Outils du site


reseau:debian:clesshcertificat

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
reseau:debian:clesshcertificat [2025/01/07 22:41] – [Les commandes utiles] techer.charles_educ-valadon-limoges.frreseau:debian:clesshcertificat [2025/06/11 12:53] (Version actuelle) – [Mise en place côté client] admin
Ligne 1: Ligne 1:
 ====== Configurer une authentification SSH avec certificat ====== ====== Configurer une authentification SSH avec certificat ======
 +===== Resources =====
 +  * http://www.ixany.org/fr/articles/presentation-et-utilisation-des-certificats-ssh/
 +  * https://www.ssh.com/
 +  * http://tech.ciges.net/blog/openssh-with-x509-certificates-how-to/
 +  * https://linux-attitude.fr/post/certificats-x509-pour-ssh
 ===== Principes ===== ===== Principes =====
  
Ligne 48: Ligne 53:
 ===== Mise en place côté client ===== ===== Mise en place côté client =====
 Le client doit faire signer sa clé publique pour obtenir un certificat qui doit être placé dans le même répertoire que sa clé privé et publique. Le client doit faire signer sa clé publique pour obtenir un certificat qui doit être placé dans le même répertoire que sa clé privé et publique.
 +
 +<code>
 +cp client_key ~/.ssh/
 +cp client_cert.pub ~/.ssh/
 +</code>
 +
 +Les permissions doivent être correctes :
 +
 +<code>
 +chmod 600 ~/.ssh/client_key
 +chmod 644 ~/.ssh/client_cert.pub
 +</code>
  
 Lors d’une connexion avec la clé privée, le certificat sera automatiquement présenté au serveur. Lors d’une connexion avec la clé privée, le certificat sera automatiquement présenté au serveur.
Ligne 53: Ligne 70:
 Le client ssh doit seulement indique quelle clé privée utiliser avec l’option -i Le client ssh doit seulement indique quelle clé privée utiliser avec l’option -i
 <code> <code>
-ssh -i ~/.ssh/id_ed25519 nomDNSserveur+ssh -i ~/.ssh/client_key nomDNSserveur
 </code> </code>
  
Ligne 59: Ligne 76:
  
 <code> <code>
-ssh -v -i ~/.ssh/id_ed25519 nomDNSserveur+ssh -v -i ~/.ssh/client_key nomDNSserveur
 </code> </code>
 +
 +Vous pouvez utiliser aussi le fichier de configuration du client ssh
 +<code>
 +Host <nom_du_serveur> 
 +    HostName <adresse_du_serveur> 
 +    User <nom_utilisateur>
 +    IdentityFile ~/.ssh/client_key
 +    CertificateFile ~/.ssh/client_cert.pub
 +
 +</code> 
 ===== Les commandes utiles ===== ===== Les commandes utiles =====
   * obtenir la clé publique à partir de la clé privée d'une identité utilisateur au format openSSH   * obtenir la clé publique à partir de la clé privée d'une identité utilisateur au format openSSH
Ligne 95: Ligne 122:
 $ ssh-keygen -f ca.pem > ca.pub $ ssh-keygen -f ca.pem > ca.pub
 </code> </code>
 +
 +  * Vérifiez les journaux SSH pour voir si le certificat est utilisé correctement :
 +
 +<code>
 +journalctl -u ssh
 +</code>
 +
 +  * Sur le clien, ajoutez l’option -v pour obtenir plus de détails sur le processus de connexion :
 +
 +<code>
 +ssh -v <nom_du_serveur>
 +</code>
 +
 +  * Facilité d’utilisation avec plusieurs serveurs en faisant confiance à la même CA en ajoutant la clé publique de la CA à ~/.ssh/known_hosts en tant qu’autorité de certification :
 +
 +
 +<code>
 +echo "@cert-authority *.example.com ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQE..." >> ~/.ssh/known_hosts
 +</code>
 +
 +Cela permet au client de faire confiance à tous les serveurs avec des certificats signés par cette CA.
 +
 +  * Visualiser le contenu d'un certificat
 +
 +<code>
 +openssl x509 -in filename.pem -text –noout
 +</code>
 +-noout pour ne pas afficher en base64 qui permet d’encode des données binaires ASCII
 +
 +  * emetteur du certificat : -issuer
 +
 +<code>
 +openssl x509 -in filename.pem -issuer –noout
 +</code>
 +
 +  * Sujet du certificat : -subject
 +
 +<code>
 +openssl x509 -in filename.pem -subject –noout
 +</code>
 +
 +  * Empreinte digitale : -fingeprint
 +
 +<code>
 +openssl x509 -in filename.pem -fingerprint –noout
 +</code>
 +
 +  * Clé publique : -pubkey 
 +
 +<code>
 +openssl x509 -in filename.pem –pubkey -noout –out id_rsa.pub
 +</code>
 +
  
reseau/debian/clesshcertificat.1736286102.txt.gz · Dernière modification : 2025/01/07 22:41 de techer.charles_educ-valadon-limoges.fr