User Tools

Site Tools


informatique:logiciels:ssh

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Next revisionBoth sides next revision
informatique:logiciels:ssh [2019/07/23 10:23] – [Saisir un mot de passe via SSH] pteuinformatique:logiciels:ssh [2020/03/30 09:59] – [Connexion SSH par rebond] pteu
Line 335: Line 335:
 </code> </code>
  
 +src : https://stackoverflow.com/questions/10310299/proper-way-to-sudo-over-ssh
  
  
-src https://stackoverflow.com/questions/10310299/proper-way-to-sudo-over-ssh+=====Timeout d'établissement de connexion SSH===== 
 + 
 +Lorsqu'on lance une connexion SSH, si le serveur cible ne répond pas instantanément, le client SSH va attendre un certain délais (le timeout TCP du système) avant de rendre la main et d'afficher le triste constat d'échec suivant ''sshconnect to host serveur-down port 22: Connection timed out''
 + 
 +On peut limiter ce timeout pour ne pas avoir à attendre 3 plombes qu'il nous rende la main, en utilisant l'option ''ConnectTimeout''
 +<code bash> 
 +# réglage du temps maximal d'attente à 5 secondes, si serveur-down ne répond pas 
 +ssh -o ConnectTimeout=5 serveur-down 
 +</code> 
 + 
 +Si "serveur-down" possède plusieurs adresses IP, le client SSH les essayera les unes après les autres jusqu'à ce qu'une réponde. Pour éviter ce comportement, on peut limiter le nombre d'IP essayé avec l'option ''ConnectionAttempts''
 +<code bash> 
 +host serveur-down 
 + serveur-down has address 10.0.0.1 
 + serveur-down has address 10.0.1.1 
 + 
 +# limiter les essais à une seule IP 
 +ssh -o ConnectionAttempts=1 serveur-down 
 +</code> 
 + 
 + 
 +=====Connexion SSH par rebond===== 
 + 
 +Pour se connecter à un serveur SSH cible par rebond, via un autre serveur SSH "bastion" ou proxy, de cette façon : 
 +<code bash> 
 +client ---> serveur_bastion ---> serveur_cible 
 +</code> 
 + 
 +Il faut éditer, sur le poste client, le fichier de config perso (''~/.ssh/config'') : 
 +<code bash ~/.ssh/config> 
 +Host serveur_cible 
 +   ProxyCommand ssh serveur_bastion -W %h:22 
 +   User mon_login_sur_serveur 
 +   #alternative : ProxyCommand ssh serveur_bastion nc %h 22 
 +   # on peut préciser le certificat à utiliser pour éviter le double prompt 
 +   #IdentityFile ~/.ssh/id_rsa.pub    # préciser la clé à utiliser, si pas celle par défaut 
 +   ForwardAgent yes                   # utiliser les credentials locaux sur les systèmes distants 
 +</code> 
 +Pour éviter de saisir plusieurs fois son mot de passe, penser à copier sa clé dans les ''authorized_keys'' du serveur bastion avec la commande : 
 +<code bash> 
 +# si pas encore fait, générer une paire de clé sur le poste client 
 +client $ ssh-keygen 
 +[blabla OK OK] 
 +# copier la clé sur le serveur 
 +client $ ssh-copy-id user@serveur_bastion 
 +</code>
  
 +On peut enchainer plusieurs serveurs en enfilade pour se connecter sur le serveur cible :
 +<code bash ~/.ssh/config>
 +Host serveur_bastion2
 +   ProxyCommand ssh serveur_bastion -W %h:22
 +Host serveur_cible
 +   ProxyCommand ssh serveur_bastion2 -W %h:22
 +</code>
 ====== Liens ====== ====== Liens ======
  
 [[http://people.via.ecp.fr/~alexis/formation-linux/export-display.html|formation Linux]] [[http://people.via.ecp.fr/~alexis/formation-linux/export-display.html|formation Linux]]
informatique/logiciels/ssh.txt · Last modified: 2024/04/05 06:59 by pteu