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
Dernière révisionLes deux révisions suivantes
documentation:tutorials:ssh:clef_agent_ssh [2018/01/05 08:53] – [Exemple de configuration pour Linux et BSD] ltaulelldocumentation:tutorials:ssh:clef_agent_ssh [2022/01/10 12:26] – [Diffuser la clef publique] ltaulell
Ligne 3: Ligne 3:
 Le client SSH s’utilise le plus sou­vent avec un cou­ple ''[utilisateur + mot de passe]'' vers une machine dis­tante.  Le client SSH s’utilise le plus sou­vent avec un cou­ple ''[utilisateur + mot de passe]'' vers une machine dis­tante. 
  
-Toute­fois, il est pos­si­ble d’utiliser une clef +Toute­fois, il est **fortement conseillé** d’utiliser une clef 
 (authen­tifi­ca­tion par clef privée/publique, \\ voir http://fr.wikipedia.org/wiki/Cryptographie_asym%C3%A9trique )  (authen­tifi­ca­tion par clef privée/publique, \\ voir http://fr.wikipedia.org/wiki/Cryptographie_asym%C3%A9trique ) 
-pour s’authentifier sur la machine dis­tante. \\ De plus, en utilisant un agent SSH, on peut éviter de taper des mots de passe.+pour s’authentifier sur la machine dis­tante. \\ De plus, en utilisant un agent SSH, on peut s'éviter de taper ses mots de passe sans arrêt.
  
 ===== Générer un jeu de clefs ===== ===== Générer un jeu de clefs =====
Ligne 29: Ligne 29:
 Enter passphrase (empty for no passphrase): Enter passphrase (empty for no passphrase):
 </code> </code>
 +
 +
 +<WRAP center round info 60%>
 +Les nouveaux paramètres par défaut de ssh peuvent préférer générer une clef de type ''ed25519''. Dans la suite de la documentation, remplacez ''.rsa'' par ''.ed25519''.
 +</WRAP>
  
 ==== Étape 2 : Choisir une bonne passphrase ==== ==== Étape 2 : Choisir une bonne passphrase ====
Ligne 99: Ligne 104:
  
   * Utiliser les programmes ''ssh-askpass'' ou ''ssh-askpass-gnome'' de votre distribution favorite...   * Utiliser les programmes ''ssh-askpass'' ou ''ssh-askpass-gnome'' de votre distribution favorite...
 +
 +ou
 +
   * charger l'agent dans un script :   * charger l'agent dans un script :
  
Ligne 105: Ligne 113:
 ssh-add ssh-add
 </code> </code>
 +
 +ou
  
   * Installer et utiliser [[http://www.funtoo.org/wiki/Keychain|keychain]] (outil CLI, prendre l'archive Release).   * Installer et utiliser [[http://www.funtoo.org/wiki/Keychain|keychain]] (outil CLI, prendre l'archive Release).
Ligne 112: Ligne 122:
 # add key(s) to agent # add key(s) to agent
 eval `keychain --eval --agents ssh id_rsa` eval `keychain --eval --agents ssh id_rsa`
 +</code>
 +
 +  * KDE Startup script :
 +
 +<code bash>
 +#! /bin/bash
 +# Put this in ~/.kde/Autostart/ssh-agent.sh
 +# or ~/.config/autostart-scripts/ssh-agent.sh
 +export SSH_ASKPASS=/usr/bin/ksshaskpass
 +/usr/bin/ssh-add ~/.ssh/id_rsa  # or any key you want
 </code> </code>
  
Ligne 125: Ligne 145:
 eval `keychain --eval --agents ssh id_rsa` eval `keychain --eval --agents ssh id_rsa`
 </code> </code>
 +
 +ou
  
   * Si vous utilisez MacOSX Keychain, ajoutez l'option ''--inherit any'' :   * Si vous utilisez MacOSX Keychain, ajoutez l'option ''--inherit any'' :
Ligne 133: Ligne 155:
  
 <note important>Si, à chaque ouverture de Terminal, keychain demande votre passphrase, enlevez l'option ''--inherit any''</note> <note important>Si, à chaque ouverture de Terminal, keychain demande votre passphrase, enlevez l'option ''--inherit any''</note>
 +
 +ou
  
   * Installer et utiliser [[http://sshkeychain.sourceforge.net/|SSHKeyChain]] (outil graphique)   * Installer et utiliser [[http://sshkeychain.sourceforge.net/|SSHKeyChain]] (outil graphique)
Ligne 143: Ligne 167:
 ==== Windows ==== ==== Windows ====
  
-Sur Windows, il faut utiliser le logiciel PuTTY, dont l'usage est expliqué [[documentation:tutorials:ssh:putty|sur cette page]].+Sur Windows, il faut utiliser le logiciel PuTTY/KiTTY, dont l'usage est expliqué [[documentation:tutorials:ssh:putty|sur cette page]].
  
 ===== Diffuser la clef publique ===== ===== Diffuser la clef publique =====
Ligne 158: Ligne 182:
 </code> </code>
  
-<note important>Cela **écrase** le fichier ''~/.ssh/authorized_keys'' existant. Pour **ajouter** votre clef publique au fichier ''~/.ssh/authorized_keys'' existant, utilisez les commandes suivantes :</note>+<note important>**ATTENTION**: Cela **écrase** le fichier ''~/.ssh/authorized_keys'' existant. Pour **ajouter** votre clef publique au fichier ''~/.ssh/authorized_keys'' existant, utilisez les commandes suivantes :</note>
  
 <code bash> <code bash>
-scp ~/.ssh/id_rsa.pub votrelogin@allo-psmn:~/.ssh/id_rsa.pub+scp ~/.ssh/id_rsa.pub votrelogin@allo-psmn:~/.ssh/id_rsa.pub.perso
   votrelogin@allo-psmn's password:   votrelogin@allo-psmn's password:
   id_rsa.pub                    100%  9KB 9.3KB/  00:00   id_rsa.pub                    100%  9KB 9.3KB/  00:00
Ligne 170: Ligne 194:
   votrelogin@allo-psmn's password:   votrelogin@allo-psmn's password:
  
-> cat .ssh/id_rsa.pub >> .ssh/authorized_keys+> cat .ssh/id_rsa.pub.perso >> .ssh/authorized_keys
 > exit > exit
 </code> </code>
Ligne 223: Ligne 247:
 Host allo-externe Host allo-externe
   User <login PSMN>   User <login PSMN>
-  ProxyCommand ssh <login PSMN>@ssh.psmn.ens-lyon.fr -w1 allo-psmn %p+  ProxyCommand ssh <login PSMN>@ssh.psmn.ens-lyon.fr tcpconnect allo-psmn %p
 #  User <login ENS> #  User <login ENS>
 #  ProxyCommand ssh <login ENS>@ssh.ens-lyon.fr tcpconnect allo-psmn %p #  ProxyCommand ssh <login ENS>@ssh.ens-lyon.fr tcpconnect allo-psmn %p
Ligne 241: Ligne 265:
 </code> </code>
  
-Bien évidemment, il faut remplacer ''<login PSMN>'' par votre login du PSMN, et ''<login ENS>'' par votre login de l'ENS.+Bien évidemment, il faut remplacer ''<login PSMN>'' par votre login du PSMN, et ''<login ENS>'' par votre login de l'ENS. ''netcat -w1'' peut être remplacé par ''tcpconnect''.
  
 La liste des serveurs de connexion du PSMN est disponible [[documentation:clusters:services#serveurs_de_compilation|sur cette page]]. La liste des serveurs de connexion du PSMN est disponible [[documentation:clusters:services#serveurs_de_compilation|sur cette page]].
Ligne 249: Ligne 273:
 ==== Exemple de configuration pour MacOS X ==== ==== Exemple de configuration pour MacOS X ====
  
-Sur MacOS X, il vaut mieux utiliser les options ''-Y'' au lieu de ''-X'' (ou ''ForwardX11Trusted yes'' au lieu de ''ForwardX11 yes'' dans votre fichier ''~/.ssh/config''). En voici un exemple :+Sur MacOS X, il vaut mieux utiliser l'option ''-Y'' au lieu de ''-X'' (ou ''ForwardX11Trusted yes'' au lieu de ''ForwardX11 yes'' dans votre fichier ''~/.ssh/config''). En voici un exemple :
  
   * ''~/.ssh/config'' **pour MacOS X**   * ''~/.ssh/config'' **pour MacOS X**
Ligne 257: Ligne 281:
   ServerAliveInterval 60   ServerAliveInterval 60
   ForwardX11Timeout 1d   ForwardX11Timeout 1d
-#  TCPKeepAlive yes+  TCPKeepAlive yes
   ForwardAgent yes   ForwardAgent yes
 #  ForwardX11 yes       # pour Linux #  ForwardX11 yes       # pour Linux
Ligne 263: Ligne 287:
   Compression yes   Compression yes
   StrictHostKeyChecking no   StrictHostKeyChecking no
-#  HashKnownHosts no+  HashKnownHosts no
  
 ### ###
Ligne 287: Ligne 311:
 Host allo-externe Host allo-externe
   User <login PSMN>   User <login PSMN>
-  ProxyCommand ssh <login PSMN>@ssh.psmn.ens-lyon.fr allo-psmn+  #HostName allo-psmn 
 +  ProxyCommand ssh <login PSMN>@ssh.psmn.ens-lyon.fr tcpconnect allo-psmn %p
  
 # connexion à x5650comp1 depuis l'exterieur de l'ENS # connexion à x5650comp1 depuis l'exterieur de l'ENS
Ligne 303: Ligne 328:
 </code> </code>
  
-Bien évidemment, il faut remplacer ''<login PSMN>'' par votre login au PSMN.+Bien évidemment, il faut remplacer ''<login PSMN>'' par votre login au PSMN. ''netcat -w1'' peut être remplacé par ''tcpconnect''.
  
 La liste des serveurs de connexion du PSMN est disponible [[documentation:clusters:services#serveurs_de_compilation|sur cette page]] La liste des serveurs de connexion du PSMN est disponible [[documentation:clusters:services#serveurs_de_compilation|sur cette page]]