Ich versuche, meinen Multi-Hop-Befehl ssh in die Datei ssh .ssh / config einzufügen.
Dies ist mein Verbindungsdiagramm: Laptop (ich bin hier) ------> Benutzer -------> Workstation
Ich habe die öffentlichen ssh-Schlüssel von ssh in 'userver' und 'workstation' abgelegt. In diesem Moment kann ich eine Verbindung herstellen, indem ich diese Zeile eingebe:
ssh -A -t userserver@userver ssh -A userworkstation@workstation
Ich möchte jedoch in der Lage sein, die Funktionen der Konfigurationsdatei in ~ / .ssh / config zu verwenden, um den gleichen Effekt zu erzielen, jedoch mit einem einfachen Befehl, mit dem ich auch schnell mit 'scp' kopieren kann. Das einzige Problem ist, dass 'userver' nicht den Befehl "nc" hat und ich dort keinen Superuser habe, sondern nur die Kontrolle über meinen Home-Ordner. Trotzdem habe ich einige Dinge ausprobiert:
Ich habe diese Konfigurationsdatei in meinem Laptop (~ / .ssh / config):
# laptop config file
Host userver
Hostname userver_hostname
port 22
User server_user
Auch eine andere Konfigurationsdatei im Userver (~ / .ssh / config)
# userver config file
Host workstation
Hostname workstation_hostname
port 22
user workstation_username
Mit diesen Konfigurationsdateien kann ich mich verbinden als
ssh -A -t userver ssh -A workstation
Das ist eine Verbesserung, aber nicht ausreichend. Ich habe versucht, einen anderen Host in meiner Laptops-Konfiguration hinzuzufügen:
Host hop
ProxyCommand ssh -A -t userver ssh -A workstation
Dann, wenn ich es tue
ssh hop
Ich erhalte die folgende Ausgabe mit Fehlern und kann keine Verbindung herstellen:
Pseudo-terminal will not be allocated because stdin is not a terminal.
Pseudo-terminal will not be allocated because stdin is not a terminal.
-bash: line 1: $'SSH-2.0-OpenSSH_6.4\r': command not found
Irgendwelche Ideen?