Ich versuche, über einen Bridge-Server auf einen Server zu tunneln. Bisher konnte ich es mit dem folgenden Befehl über die Befehlsshell ordnungsgemäß zum Laufen bringen:
ssh -A -t bridge_userid@bridgemachine.com ssh -A remote_userid@remoteserver.com
Aber ich habe versucht, dies in meine ~/.ssh/config
Akte zu packen, und ich habe Probleme. Ich habe es versucht:
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
Aber wenn ich das tue, erhalte ich die folgende Fehlermeldung remoteserver.com
und bin mir nicht sicher, was die Ursache ist:
ksh: SSH-2.0-OpenSSH_6.8 ^ M: nicht gefunden
Ich weiß, dass remoteserver.com
meine Shell ist , wenn ich mich anmelde /usr/bin/ksh
.
Ich habe versucht, den ssh-Befehlen in der Konfigurationsdatei Pfadargumente hinzuzufügen, aber es machte keinen Unterschied.
Irgendwelche Ideen woran es liegen kann?
ssh
ssh-tunneling
ssh-config
Eric B.
quelle
quelle
ProxyCommand
gemeint. Normalerweise wird es mit Netcat verwendet, bei dem ssh seine Ausgabe durch das Netzwerk leitet und Netcat als Tunnel zum SSH-Port des Remoteservers fungiert . Sie benötigen einen ProxyCommand,ssh -W %h:%p [email protected]
wenn Sie diese Funktion verwenden möchten.ssh -A [email protected]
als Befehl zur Ausführung auf dem Bridge-Computer verwenden, bietet config keine Möglichkeit, Standardbefehle bereitzustellen. Was Sie versuchen,works
an sich zu tun , aber dann versucht ssh, IhreProxyCommand
Server als Tunnel zu verwenden, und startet das Abfeuern des SSH-Protokolls dort, wo am anderen Ende eine Shell wartet, anstatt dass ein sshd auf das SSH-Protokoll wartet.Antworten:
Jakujes Antwort ist richtig, aber seit OpenSSH
7.3
können Sie jetzt verwenden,-J
ProxyJump
was einfacher ist. Siehe meine Notizen:OpenSSH
7.3
oder höherVerwenden Sie
ProxyJump
. Wie im Handbuch erklärt:ProxyJump-
~/.ssh/config
Beispiel~/.ssh/config
Verbinden mit
In
-v
für ausführliche AusgabeProxyJump
-J
Befehlszeilenbeispiel~/.ssh/config
Verbinden mit
Oder benutze
-o
OpenSSH
5.4
oder höherVerwenden Sie
ProxyCommand
mit-W
~/.ssh/config
Verbinden mit
Oder benutze
-o
OpenSSH unten
5.4
~/.ssh/config
Verbinden mit:
Oder benutze
-o
Quellen
-J
in OpenSSH 7.3 hinzugefügt-W
in OpenSSH 5.4 hinzugefügtquelle
Sie brauchen nicht
netcat
auf Ihrer Brücke. Wie DanSut in den Kommentaren vorgeschlagen hat, können Siessh -W
stattdessen die Befehlszeilenoption verwenden. Diese Konfiguration sollte für Sie funktionieren:quelle