Wenn Sie häufig über SSH auf viele verschiedene Remote-Systeme zugreifen, sparen Sie mit diesem Trick einige Zeit. Sie können SSH-Alias für häufig aufgerufene Systeme über SSH erstellen. Auf diese Weise müssen Sie sich nicht all die verschiedenen Benutzernamen, Hostnamen, SSH-Portnummern und IP-Adressen usw. merken. Außerdem müssen Sie nicht wiederholt denselben Benutzernamen/Hostnamen, IP-Adresse und Portnummer eingeben, wenn Sie SSH in einen Linux-Server ( s).
SSH-Alias unter Linux erstellen
Bevor ich diesen Trick kenne, verbinde ich mich normalerweise über SSH mit einem Remote-System, indem ich eine der folgenden Methoden verwende.
Verwendung der IP-Adresse:
$ ssh 192.168.225.22
Oder mit Portnummer, Benutzername und IP-Adresse:
$ ssh -p 22 [email protected]
Oder mit Portnummer, Benutzername und Hostname:
$ ssh -p 22 [email protected]
Hier,
22
ist die Portnummer,sk
der Benutzername des entfernten Systems ist,192.168.225.22
ist die IP meines entfernten Systems,server.example.com
ist der Hostname des entfernten Systems.
Ich glaube, die meisten Linux-Neulinge und/oder -Administratoren würden auf diese Weise per SSH in ein entferntes System einsteigen. Wenn Sie sich jedoch mit SSH in mehrere verschiedene Systeme einloggen, ist es etwas schwierig, sich alle Hostnamen/IP-Adressen und Benutzernamen zu merken, es sei denn, Sie schreiben sie auf ein Papier oder speichern sie in einer Textdatei. Keine Bange! Dies kann leicht gelöst werden, indem ein Alias (oder eine Verknüpfung) für SSH-Verbindungen erstellt wird.
Wir können einen Alias für SSH-Befehle auf zwei Arten erstellen.
Methode 1 - Verwenden der SSH-Konfigurationsdatei
Dies ist meine bevorzugte Art, Aliase zu erstellen.
Wir können die SSH-Standardkonfigurationsdatei verwenden, um einen SSH-Alias zu erstellen. Bearbeiten Sie dazu ~/.ssh/config
Datei (Falls diese Datei nicht existiert, erstellen Sie einfach eine):
$ vi ~/.ssh/config
Fügen Sie alle Ihre Remote-Host-Details wie unten hinzu:
Host webserver HostName 192.168.225.22 User sk Host dns HostName server.example.com User root Host dhcp HostName 192.168.225.25 User ostechnix Port 2233
Ersetzen Sie die Werte von Host
, Hostname
, User
und Port
mit deinem eigenen. Nachdem Sie die Details aller Remote-Hosts hinzugefügt haben, speichern und beenden Sie die Datei.
Jetzt können Sie mit folgenden Befehlen per SSH in die Systeme einsteigen:
$ ssh webserver
$ ssh dns
$ ssh dhcp
So einfach ist das.
Sehen Sie sich den folgenden Screenshot an.
Sehen? Ich habe nur den Aliasnamen verwendet (also webserver ), um auf mein Remote-System mit der IP-Adresse 192.168.225.22 zuzugreifen .
Bitte beachten Sie, dass dies nur für aktuelle Benutzer gilt. Wenn Sie die Aliase allen Benutzern (systemweit) zur Verfügung stellen möchten, fügen Sie die obigen Zeilen in /etc/ssh/ssh_config
hinzu Datei.
Sie können auch viele andere Dinge in der SSH-Konfigurationsdatei hinzufügen. Zum Beispiel, wenn Sie SSH-Schlüssel-basierte Authentifizierung konfiguriert haben , geben Sie den Speicherort der SSH-Schlüsseldatei wie unten angegeben an.
Host ubuntu HostName 192.168.225.50 User senthil IdentityFIle ~/.ssh/id_rsa_remotesystem
Stellen Sie sicher, dass Sie den Hostnamen, den Benutzernamen und den Pfad der SSH-Schlüsseldatei durch Ihre eigenen ersetzt haben.
Verbinden Sie sich nun mit dem Remote-Server mit dem Befehl:
$ ssh ubuntu
Auf diese Weise können Sie beliebig viele Remote-Hosts hinzufügen, auf die Sie über SSH zugreifen möchten, und schnell mit ihrem Aliasnamen darauf zugreifen.
Methode 2 - Verwendung von Bash-Aliassen
Dies ist eine schnelle und schmutzige Methode, um SSH-Aliase für eine schnellere Kommunikation zu erstellen. Sie können den Alias-Befehl verwenden um diese Aufgabe viel einfacher zu machen.
Öffnen Sie ~/.bashrc
oder ~/.bash_profile
Datei:
Fügen Sie Aliase für jede SSH-Verbindung nacheinander wie unten beschrieben hinzu.
alias webserver='ssh [email protected]' alias dns='ssh [email protected]' alias dhcp='ssh [email protected] -p 2233' alias ubuntu='ssh [email protected] -i ~/.ssh/id_rsa_remotesystem'
Stellen Sie erneut sicher, dass Sie Host, Hostname, Portnummer und IP-Adresse durch Ihre eigenen ersetzt haben. Speichern Sie die Datei und beenden Sie sie.
Übernehmen Sie dann die Änderungen mit dem Befehl:
$ source ~/.bashrc
Oder,
$ source ~/.bash_profile
Bei dieser Methode müssen Sie nicht einmal "ssh alias-name"
verwenden Befehl. Verwenden Sie stattdessen einfach nur den Aliasnamen wie unten.
$ webserver $ dns $ dhcp $ ubuntu
Diese beiden Methoden sind sehr einfach, aber nützlich und viel bequemer für diejenigen, die häufig SSH in mehrere verschiedene Systeme verwenden. Verwenden Sie eine der oben genannten Methoden, die für Sie geeignet ist, um schnell über SSH auf Ihre Remote-Linux-Systeme zuzugreifen.
Empfohlene Lektüre:
- SSH-Zugriff für einen bestimmten Benutzer oder eine bestimmte Gruppe in Linux zulassen oder verweigern
- SSH in ein bestimmtes Verzeichnis unter Linux
- So verhindern Sie, dass die SSH-Sitzung unter Linux getrennt wird
- 4 Möglichkeiten, einen Befehl weiter auszuführen, nachdem Sie sich von der SSH-Sitzung abgemeldet haben
- SSLH – Verwenden Sie denselben Port für HTTPS und SSH
- So finden Sie heraus, ob ein Benutzer unter Linux passwortbasierte oder schlüsselbasierte SSH-Authentifizierung verwendet