Um zu meiner Maschine in meinem Büro zu gelangen, mache ich im Moment Folgendes:
me@home:~$ ssh unix.university.com
me@unix:~$ ssh unix.department.univeristy.com
[email protected]:~$ ssh office-machine.department.university.com
me@office-machine:~$ echo "This is very annoying"
Gibt es eine einfache Möglichkeit, diesen Prozess zu automatisieren, vielleicht einen einzelnen Befehl, den ich an meinem Ende verwenden kann?
ssh
multiple-machines
Lucas
quelle
quelle
Antworten:
Sie können den ssh-Client verwenden, um ssh beim Anmelden auf dem Remotecomputer auszuführen.
(Der Grund, warum ich
-t
in die Aufrufe einbeziehe, ist, dass ssh mir Fehler gab, da es kein Terminal war, als ich es auf meinem eigenen Computer ausprobierte. Ihr Computer ist möglicherweise anders.)Wenn Sie die letzte Shell verlassen, wird der Prozess mit einer Kette beendet, sodass Sie nicht mehrmals Ctrl-Dtippen müssen.
quelle
tar cf - something | ssh somewhere "cd /path/remote ; tar xf - "
beschädigen können / werden (zum Beispiel :: könnte beschädigt werden, wenn Sie sie hinzufügen-t
! Sehen Sie sich zum Beispiel die wunderbare Antwort von StephaneChazelas an unix.stackexchange.com/questions/151916/ … )-J
Option zu. Ich denke, Sie könnten es mit mehrerenProxyCommand
Optionen in Ihrer Konfiguration tun .-J
Sie eine durch Kommas getrennte Liste von Hops angeben, die durchlaufen werden sollen. Die Verwendung vonProxyCommand
with-W
ist jedoch immer noch ein viel besserer Ansatz als diese Antwort, wenn Sie eine Version verwenden, die zu alt für die Unterstützung ist-J
.Ja, es gibt eine großartige Möglichkeit, dies mit ssh ProxyCommand und netcat zu tun
Fügen Sie so etwas in Ihre .ssh / config ein
Dies meldet sich direkt auf einem .department.university.com-Server mit dem Jump / Bastion-Host unix.university.com an. Möglicherweise benötigen Sie auch eine Zeilengruppe für unix.university.com direkt.
Hier ist ein Link, der erklärt, wie es funktioniert: http://backdrift.org/transparent-proxy-with-ssh
Mit dieser Technik können Sie jetzt einfach schreiben
und es wird alles direkt erscheinen. Tools wie rsync, scp usw. (alles im ssh-Stack) funktionieren ebenfalls transparent.
quelle
-W
Option unterstützen, können Sie so etwas tun,ProxyCommand ssh -W %h:%p gateway
anstatt abhängig von ncProxyCommand ssh -W %h:%p user@gateway
In OpenSSH 7.3 fügte ssh das
-J
Befehlszeilen-Flag und die entsprechendeProxyJump
Konfigurationsoption hinzu, um genau dieses Problem zu lösen.Geben Sie die Hosts, durch die Sie sshen möchten, als durch Kommas getrennte Liste an
-J
. Beispielsweise:quelle
SSH-Tunneling. Ich erinnere mich nicht genau, wie das geht, aber ich weiß, dass es eine Möglichkeit gibt, einen Tunnel von einer Maschine zuzulassen, indem sie sich vielleicht an einen separaten Port anschließt. Auf diese Weise wird nur derselbe ursprüngliche Computer (beispielsweise mit einem anderen Port) als Shell verwendet, und Sie werden an Ihren endgültigen Standort gebracht.
Müsste allerdings nachschlagen, wie man es konfiguriert.
:)
quelle