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 [2020/03/26 17:32] – [Connexion SSH par rebond] pteuinformatique:logiciels:ssh [2020/12/10 07:30] – [Connexion SSH par rebond] pteu
Line 361: Line 361:
 =====Connexion SSH par rebond===== =====Connexion SSH par rebond=====
  
-Pour se connecter à un serveur SSH cible par rebond, via un autre serveur SSH "bastion" ou proxy, ce cette façon :+Pour se connecter à un serveur SSH cible par rebond, via un autre serveur SSH "bastion" ou proxy, de cette façon :
 <code bash> <code bash>
 client ---> serveur_bastion ---> serveur_cible client ---> serveur_bastion ---> serveur_cible
 </code> </code>
  
-Il faut éditer, sur le poste client, le fichier de config perso (''~/.ssh/config'':+Il suffit de saisir l'option ''-J'' :
 <code bash> <code bash>
-Host serveur_cible +ssh -J bastion cible 
-   ProxyCommand ssh -l user serveur_bastion nc %h 22+</code> 
 + 
 +Sur de plus ancienne version de SSH on doit remplacer le -J par : 
 +<code bash> 
 +ssh -o ProxyCommand="ssh -W %h:%p bastion" cible 
 +</code> 
 + 
 +Et sur les plus anciennes versions de SSH on peut utiliser le trick (''-tt'' force l'allocation d'un terminal) : 
 +<code bash> 
 +ssh -tt bastion "ssh -tt cible" 
 +<code> 
 + 
 +Pour automatiser cela il faut éditer, sur le poste client, le fichier de config perso (''~/.ssh/config'') : 
 +<code bash ~/.ssh/config> 
 +Host cible 
 +   Hostname cible.domain.com 
 +# nouvelle méthode 
 +   ProxyJump bastion 
 +# ou:   ProxyCommand ssh bastion -W %h:%p 
 +   User login_sur_bastion 
 +   #alternative : ProxyCommand ssh bastion nc %h 22
    # on peut préciser le certificat à utiliser pour éviter le double prompt    # on peut préciser le certificat à utiliser pour éviter le double prompt
-   #IdentityFile ~/.ssh/id_rsa.pub+   #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> </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 : Pour éviter de saisir plusieurs fois son mot de passe, penser à copier sa clé dans les ''authorized_keys'' du serveur bastion avec la commande :
Line 378: Line 399:
 client $ ssh-keygen client $ ssh-keygen
 [blabla OK OK] [blabla OK OK]
-# copier la clé sur le serveur +# copier la clé sur le bastion 
-client $ ssh-copy-id user@serveur_bastion+client $ ssh-copy-id user@bastion 
 +</code> 
 + 
 +On peut enchainer plusieurs serveurs en enfilade pour se connecter sur le serveur cible : 
 +<code bash ~/.ssh/config> 
 +Host cible 
 +# on sépare les serveurs intermédiaires par une virgule 
 +   ProxyJump bastion,bastion2 
 +
 +# ou avec l'option -W : 
 +   ProxyCommand ssh bastion2 -W %h:%p 
 +Host bastion2 
 +   ProxyCommand ssh bastion -W %h:%p
 </code> </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