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:03] – [Créer une clef] 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.
  
 +<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 33: Ligne 40:
 <file sshconfig /etc/ssh/sshd_config> <file sshconfig /etc/ssh/sshd_config>
 PasswordAuthentication no PasswordAuthentication no
-#PermitEmptyPasswords no+PermitEmptyPasswords no 
 + 
 +# Change to no to disable PAM authentication 
 +KbdInteractiveAuthentication no
  
-# Change to no to disable PAM authenticati pub  
-ChallengeResponseAuthentication no 
 </file> </file>
  
Ligne 44: 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]]
 +</alert>
  
  • net/ssh.1586102637.txt.gz
  • Dernière modification : 2020/04/05 16:03
  • de david