Ist es möglich, mehrere SSH-Host-Aliase zu haben?

Ist es möglich, mehrere SSH-Host-Aliase zu haben?

Ich habe einen Laptop, der sich zeitweise natürlich innerhalb oder außerhalb meines Heimnetzwerks befinden kann. Wenn ich mich per SSH mit einem Rechner innerhalb meines Netzwerks verbinden muss, ist die Verbindung ziemlich unkompliziert:

localhost $ ssh machinelearning

Wenn ich versuche, auf die Maschine zuzugreifen vondraußenmeines Netzwerks muss ich mich dann mit meinem Router verbinden und von dort aus per SSH kommunizieren:

localhost $ ssh router.mytotallyuniquedomain.com
router $ ssh machinelearning

Ich erinnere mich, dass es für die Ausführung des letztgenannten Befehls eine Tastenkombination gab ~/.ssh/config, kann mich aber im Moment nicht erinnern, welche es ist.

Gibt es für mich eine Möglichkeit, mehrere Hostnamen oder Verbindungstypen anzugeben, sodass in diesem Fall Folgendes geschieht:

$ ssh machinelearning

SSH versucht zunächst, eine Verbindung zum machinelearningHost im lokalen Netzwerk herzustellen und dann, sich durch zu tunneln router.mytotallyuniquedomain.com, und das alles, ohne dass ich den langen Hostnamen eintippen muss?

Antwort1

Methode Nr. 1 - ProxyCommand & netcat

Um dies zu ermöglichen , verwende ich in meinem dieses Setup $HOME/.ssh/config:

Host intserver1-o intserver2-o intserver3-o
    ProxyCommand ssh [email protected] nc `echo %h|sed 's/-o//'` %p

Ich kann dann ssh intserver2-ovon überall auf diesen internen Server zugreifen. Wenn ich zu Hause im LAN bin, verwende ich ssh intserver1.

NOTIZ:Für den obigen Trick ist ncdie Installation von netcat() auf dem Extserver1 erforderlich.

Methode Nr. 2 - verschachteltes SSH

Alternativ können Sie auch diese Methode verwenden:

$ ssh -t -l gatewayuser gatewayserver "ssh -l serveruser internalserver"

Mit dieser Methode verschachteln Sie grundsätzlich SSH-Aufrufe.

Methode Nr. 3 - ProxyCommand & ssh -W

Bei neueren SSH-Versionen (5.4+) können Sie sshstattdessen ncden -WSwitch verwenden.

Host TARGETHOST
ProxyCommand ssh -W %h:%p PROXYHOST

Die %h& %psind Makros für den Hostnamen-Port, die für verwendet wurden TARGETHOST.

verwandte Informationen