J'essaie de créer un tunnel vers un serveur via un serveur de pont. Jusqu'à présent, j'ai pu le faire fonctionner correctement à partir du shell de commande en utilisant la commande suivante:
ssh -A -t bridge_userid@bridgemachine.com ssh -A remote_userid@remoteserver.com
Mais j'ai essayé de mettre cela dans mon ~/.ssh/config
dossier et j'ai des problèmes. J'ai essayé:
Host axp
User remote_userid
HostName remoteserver.com
IdentityFile ~/.ssh/id_rsa.eric
ProxyCommand ssh -A -t bridge_userid@bridge_userid.com ssh -A remote_userid@%h
Mais quand je le fais, j'obtiens le message d'erreur suivant de remoteserver.com
et je ne suis pas sûr de la cause:
ksh: SSH-2.0-OpenSSH_6.8 ^ M: introuvable
Je sais que lorsque je me connecte remoteserver.com
, ma coquille l'est /usr/bin/ksh
.
J'ai essayé d'ajouter des arguments de chemin aux commandes ssh dans le fichier de configuration, mais cela n'a fait aucune différence.
Des idées ce que cela peut être?
ssh
ssh-tunneling
ssh-config
Eric B.
la source
la source
ProxyCommand
est censé être utilisé. Généralement, il est utilisé avec netcat où ssh achemine sa sortie à travers lui et netcat agit comme tunnel vers le port SSH du serveur distant . Vous avez besoin d'un ProxyCommand quelque chose commessh -W %h:%p [email protected]
si vous voulez utiliser cette fonctionnalité.ssh -A [email protected]
une commande à exécuter sur la machine bridge, config ne vous donne pas un moyen de fournir des commandes par défaut. Ce que vous essayez de faireworks
en soi, mais ssh essaie ensuite d'utiliser votreProxyCommand
comme tunnel et commence à tirer le protocole SSH vers le bas là où un shell attend à l'autre extrémité plutôt qu'un sshd écoutant le protocole SSH.Réponses:
La réponse de Jakuje est juste, mais depuis OpenSSH
7.3
, vous pouvez maintenant utiliser-J
ProxyJump
ce qui est plus facile. Voir mes notes:OpenSSH
7.3
ou supérieurUtilisez
ProxyJump
. Comme expliqué dans le manuel:~/.ssh/config
Exemple ProxyJump~/.ssh/config
Se connecter avec
Ajouter
-v
pour une sortie détailléeExemple de
-J
ligne de commande ProxyJump~/.ssh/config
Se connecter avec
Ou utiliser
-o
OpenSSH
5.4
ou supérieurUtiliser
ProxyCommand
avec-W
~/.ssh/config
Se connecter avec
Ou utiliser
-o
Soufflet OpenSSH
5.4
~/.ssh/config
Se connecter avec:
Ou utiliser
-o
Sources
-J
ajouté dans OpenSSH 7.3-W
ajouté dans OpenSSH 5.4la source
Vous n'avez pas besoin
netcat
de votre pont. Comme DanSut l'a proposé dans les commentaires, vous pouvez utiliser l'ssh -W
option de ligne de commande à la place, cette configuration devrait fonctionner pour vous:la source