Mac OS X Terminal - Benennen von SSH-Verbindungen?

5

Die kurze Frage ist, dass ich wissen möchte, ob es möglich ist, ssh-Verbindungen im Terminal "freundliche" Namen zu geben.

Meine lange Überlegung ist ...

Ich habe mehrere Server-Cluster, die über NAT hinter einer einzigen IP-Adresse ausgeführt werden. Ich kann SSH in die einzelnen Server in jedem Cluster mit unterschiedlichen Portnummern ausführen, z. B .:

ssh clust1 -p 2210
ssh clust1 -p 2220
ssh clust1 -p 2230

In Putty / Windows würde ich jeder Verbindung einen anderen Namen geben ( clust1-web1 , clust1-web2 , clust1-web3 ), aber im Terminal sehe ich keine Möglichkeit, dies zu tun. Dies stellt ein Problem dar, da ich den Server, zu dem ich eine Verbindung herstelle, nicht anhand des Hostnamens unterscheiden kann und die Portnummern etwas zufällig sind.

James Napier
quelle

Antworten:

4

Führen Sie dies vom Terminal aus:

nano ~ / .ssh / config

und dann können Sie Ihre Hosts wie folgt einfügen:

Host clust1-web1
        Hostname clust1
        User Username
        Port 2210

Host clust1-web2
        Hostname clust1
        User Username
        Port 2220

Dann können Sie ssh einfach ausführen:

ssh clust1-web1

Für eine vollständige Liste der Argumente, die Sie in diese Datei einfügen können, können Sie Folgendes ausführen:

man ssh_config
wbouzane
quelle
1

Es ist nicht ganz dasselbe, aber Sie können jeden Verbindungsbefehl als Alias ​​speichern.

Oder wenn Sie es auf diese Weise nicht schaffen, speichern Sie einfach jeden Verbindungsbefehl als Shellscript / Bashscript mit dem Namen connect-clust1-web1 und speichern Sie diese in einem Ordner, der sich auch in Ihrem PATH befindet

Sie können also einfach connect-clust1-web1 eingeben und erhalten eine Verbindung.

konqui
quelle
1

Sie können Aliase konfigurieren in ~/.ssh/config:

Host clust-web1
Hostname clust1.somedomain.tld
Port 2210

(usw)

Dann können Sie mit dem Alias ​​ssh an diesen Host senden:

ssh clust-web1
Teun Vink
quelle