
Die kurze Frage ist, dass ich gerne wissen würde, ob es möglich ist, SSH-Verbindungen im Terminal „freundliche“ Namen zu geben?
Meine lange Argumentation ist ...
Ich habe mehrere Servercluster, die über NAT hinter einer einzigen IP-Adresse laufen. Ich kann mich mit unterschiedlichen Portnummern per SSH mit den einzelnen Servern in jedem Cluster verbinden, 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, mit dem ich mich verbinde, nicht anhand des Hostnamens unterscheiden kann und die Portnummern irgendwie zufällig sind.
Antwort1
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
Anschließend können Sie SSH verwenden, indem Sie einfach Folgendes ausführen:
ssh clust1-web1
Eine vollständige Liste der Argumente, die Sie in diese Datei einfügen können, erhalten Sie durch Ausführen von:
man ssh_config
Antwort2
es ist nicht ganz dasselbe, aber Sie können jeden Verbindungsbefehl als Alias speichern.
Oder wenn Sie es irgendwie nicht auf diese Weise tun können, speichern Sie einfach jeden Verbindungsbefehl als Shellscript/Bashscript, vielleicht 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 die Verbindung wird hergestellt.
Antwort3
Sie können Aliase in Ihrem konfigurieren ~/.ssh/config
:
Host clust-web1
Hostname clust1.somedomain.tld
Port 2210
(usw)
Anschließend können Sie mit dem Alias eine SSH-Verbindung zu diesem Host herstellen:
ssh clust-web1