net:ssh

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édentes Révision précédente
Prochaine révision
Révision précédente
net:ssh [2020/04/05 16:07] davidnet:ssh [2023/12/20 18:11] (Version actuelle) – [Client SSH] david
Ligne 1: Ligne 1:
 +<jumbotron>
 ====== Utiliser des clefs avec ssh ====== ====== Utiliser des clefs avec ssh ======
  
-Créer des clefs pour vous connecter vos serveurs en SSH et, par sécurité, interdire la connexion par mot de passe.+Créer des clefs pour vous connecter vos serveurs en //SSH// et, par sécurité, interdire la connexion par mot de passe. 
 +</jumbotron>
  
 ===== Créer une clef ===== ===== Créer une clef =====
Ligne 9: Ligne 11:
    
 <code bash> <code bash>
-$ ssh-keygen -t rsa+$ ssh-keygen -t ed25519  -f ma_clef_ca
 </code> </code>
  
-Vous allez obtenir deux fichiers:+Vous allez obtenir deux fichiers, que vous pouvez consulter par curiosité:
  
-  - ''id_rsa'', clef privée à conserver dans ''~/.ssh'' +  - ''ma_clef_ca'', clef privée à conserver dans ''~/.ssh'' 
-  - i''d_rsa.pub'', clef publique à communiquer sur la cible+  - ''ma_clef_ca.pub'', clef publique à communiquer sur la cible 
 + 
 +Par défaut, le commentaire de la clef publique sera ''utilisateur@machine.tds'', vous pouvez le changer avec l'option ''-C''.
  
 Copiez la clef publique sur le serveur et ajoutez dans la liste des clefs autorisées de l'utilisateur cible: Copiez la clef publique sur le serveur et ajoutez dans la liste des clefs autorisées de l'utilisateur cible:
  
 <code bash> <code bash>
-$ cat id_rsa.pub >> ~david/.ssh/authorized_keys+$ cat ma_clef_ca.pub >> ~david/.ssh/authorized_keys
 </code> </code>
  
 Supprimez ensuite le fichier contenant clef publique. Supprimez ensuite le fichier contenant clef publique.
  
-Ou, puisque vous savez maintenant ce qu'il faut faire, utilisez le [[https://www.ssh.com/ssh/copy-id|racourci copy-id]].+<callout type="info"> 
 +Ou, puisque vous savez maintenant ce qu'il faut obtenir, utilisez le [[https://www.ssh.com/ssh/copy-id|racourci copy-id]]. 
 +</callout>
  
  
-==== Serveur SSH ====+===== Serveur SSH =====
    
 N'autorisez que la connexion par clefs, pour le serveur sshd(8): N'autorisez que la connexion par clefs, pour le serveur sshd(8):
Ligne 36: Ligne 42:
 PermitEmptyPasswords no PermitEmptyPasswords no
  
-# Change to no to disable PAM authenticati pub  +# Change to no to disable PAM authentication 
-ChallengeResponseAuthentication no+KbdInteractiveAuthentication no 
 </file> </file>
  
Ligne 45: Ligne 52:
  
 <code bash> <code bash>
-ssh -i ~toto/.ssh/id_rsa_bidule  toto@farfaraway.ddns.net+ssh -i ~toto/.ssh/ma_clef_ca  toto@farfaraway.ddns.net
 </code> </code>
  
-----+===== ssh-agent ===== 
 + 
 +Cet [[https://man.freebsd.org/cgi/man.cgi?query=ssh-agent&arch=default&format=html|outil]] va définir une session où vos clefs seront enregistrées et validées. 
 + 
 +<code bash> 
 +ssh-agent zsh 
 +ssh add .ssh/ma_clef_ca 
 +Enter passphrase for .ssh/ma_clef_ca:  
 +Identity added: .ssh/ma_clef_ca (david@maclef.net) 
 +</code> 
 + 
 +A partir de ce moment et jusqu'à la fin de la session, vos clefs seront automatiquement transmises à ''ssh''
 + 
 +Dans un script, il faut //obtenir// une sessions. 
 +<code bash> 
 +eval `ssh-agent -s` 
 +ssh-add .ssh/ma_clef_ca 
 +</code> 
 + 
 +===== Client SSH ===== 
 +  
 +Vous allez probablement multiplier les clients et les cibles. 
 +Pour vous y retrouver, créer dès le premier usage une entrée dans le fichier de configuration ssh, ssh_config(5), de votre utilisateur: 
 + 
 +<file sshconfig .ssh/config> 
 +Host git.lapinbilly.eu 
 + HostName poypoy.lapinbilly.eu 
 + IdentityFile ~/.ssh/ma_clef_ca 
 + Port 6666 
 +        AddKeysToAgent yes 
 +</file> 
 + 
 +L'option '''AddKeysToAgent''' va automatiquement enregistrer cette clef auprès de '''ssh-agent''' lors de la première connexion '''ssh'''
 + 
  
 +===== En savoir plus =====
 +<alert type="info">
   * [[https://www.ssh.com/ssh/key/|La documentation de SSH]]   * [[https://www.ssh.com/ssh/key/|La documentation de SSH]]
 +</alert>
  
  • net/ssh.1586102867.txt.gz
  • Dernière modification : 2020/04/05 16:07
  • de david