Bonjour,
Je cherche le moyen de faire du SSH au travers de SSH. Jusque là rien de compliquer, je pourrais utiliser les méthode suivante :ssh -t user1@serveurRebond ssh user2@serverDistant
Ou bien en utilisant la config avec nc
.
Cependant, je voudrais savoir s'il n'y aurait pas une possibilité en faisant quelque chose du genre :ssh -t -Dlocalhost:2222 user1@serveurRebond
puisssh -t -o 'ProxyCommand something localhost:2222' user2@serverDistant
Cela m'évitera d'avoir une connexion ssh sur le serveur de rebond par connexion à des serveurs distants (qui pourrait être résolu en utilisant le ControlMaster, mais je ne veux pas l'utiliser).
Merci de votre aide.
# Port forwarding
Posté par sleibo . Évalué à 1.
Quelque chose comme :
La première commande crée sur la machine locale un processus qui écoute sur le port 2222 et qui renvoie toutes les connexions entrantes sur le port 22 de serveurDistant
La seconde commande se connecte sur le port 2222 de la machine locale, et donc le port 22 du serveur distant en passant par le serveur de rebond
[^] # Re: Port forwarding
Posté par Flyounet (site web personnel) . Évalué à 1.
Je suis d'accord quand tu n'as qu'un server distant, mais j'en ai une "trétrachiée", ça reviendrait à ouvrir un nouveau port pour chaque machine distante. Genre :
Cela ne m'arrange pas. Mais merci quand même.
# Si ton SSH est assez récent
Posté par DLFP est mort . Évalué à 2.
Tu as l'option -W.
DLFP >> PCInpact > Numerama >> LinuxFr.org
[^] # Re: Si ton SSH est assez récent
Posté par Flyounet (site web personnel) . Évalué à 1.
Le problème du
-W
c'est que-N
et-T
sont automatiquement activés. Donc au final, ça ne fonctionne pas.Merci.
# Proxyfier la connexion SSH
Posté par JJD . Évalué à 1.
Salut,
Il est effectivement possible de faire passer la connexion SSH via un proxy socks (en l'occurence, ce proxy est lui-même créé par une connexion SSH).
Pour cela tu peux utiliser quelque chose comme proxy-connect. Normalement c'est dispo là http://www.meadowy.org/~gotoh/projects/connect mais le lien semble mort ; tu peux lire quelques explications là http://www.meadowy.org/~gotoh/ssh/openssh-socks.html ; sinon, il est possible que cela soit dispo dans ta distrib (paquet connect-proxy sous Debian/sid).
Il suffit de déclarer ce proxy dans ton fichier ~/.ssh/config (ProxyCommand /usr/bin/connect-proxy -S localhost:2222 %h %p), éventuellement dans une section correspondant à tes machines cibles pour ensuite pouvoir te connecter de façon complètement transparente (tu peux, bien sûr, aussi spécifier le proxy sur la ligne de commande comme tu l'indiques dans ton post).
Il existe certainement d'autres solutions, comme proxychains (http://proxychains.sourceforge.net ), mais je ne les ai pas expérimentées.
A+
JJD
[^] # Re: Proxyfier la connexion SSH
Posté par Grunt . Évalué à 3.
Pour faire passer n'importe quoi via un proxy socks, il y a aussi tsocks.
THIS IS JUST A PLACEHOLDER. YOU SHOULD NEVER SEE THIS STRING.
[^] # Re: Proxyfier la connexion SSH
Posté par Flyounet (site web personnel) . Évalué à 2.
Je confirme
tsocks
fonctionne. Juste la conf (/etc/tsocks.conf
) à modifier et roule ma poule.Exemple de configuration :
Gros merci.
# Belier
Posté par Benoit . Évalué à 2.
Connais-tu Belier [http://www.ohmytux.com/belier/] qui est un outil permettant d'automatiser les rebonds SSH ?
[^] # Re: Belier
Posté par Julien . Évalué à 1.
Quel est l'apport de Belier par rapport à une config de .ssh/config ?
Par exemple, pour gérer un parc de systèmes embarqués dans un réseau, j'ai ces entrées dans mon fichier de config :
ainsi, un simple
ssh toto.domaine
, et le rebond est transparent, permettant même un scp :Plus fort encore, sur ce parc, des machines sont simplement numérotées, et ont pour adresse IP locale : 192.168.20.101 pour la première, 192.168.20.102 pour la deuxième etc. Il suffit d'ajouter l'entrée suivante :
et ainsi,
1.domaine
pointera sur la première machine,2.domaine
sur la seconde, etc. On peut même imaginer l'utilisation d'un DNS local si chaque machine a son propre nom.Avec l'utilisation d'une passphrase et d'un agent (
ssh-agent
,ssh-copy-id
), cela permet d'éviter deux mots de passe par connexion, et permet son utilisation par des scripts tout en gardant une certaine sécurité. Il est même possible d'enlever le mot de passe sur les machines distantes pour ne garder que la connexion par agent, ce qui permet d'être protégé contre les attaque par dictionnaire. (utile s'il faut se connecter en root (oui, je sais, çaymal :) ))Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.