SSH (Secure Shell) ist ein Protokoll zur sicheren Fernsteuerung eines Computers und zur Übertragung von Daten zwischen entfernten Computern. Es bietet eine sichere Verbindung und Verschlüsselung von Daten, was es zu einem unverzichtbaren Werkzeug für Systemadministratoren und Programmierer macht.
Ubuntu ist eine der beliebtesten Distributionen des Linux-Betriebssystems, die auch mit integrierter SSH-Serverunterstützung geliefert wird. In diesem ausführlichen Leitfaden werden wir uns ansehen, wie Sie einen SSH-Server unter Ubuntu einrichten und remote auf Ihren Computer zugreifen können.
Der erste Schritt besteht darin, das OpenSSH-Server-Paket zu installieren. Führen Sie den folgenden Befehl im Terminal aus:
sudo apt-get install openssh-server
Dieser Befehl installiert den SSH-Server und alle erforderlichen Abhängigkeiten. Nach der Installation können Sie den Status des SSH-Servers überprüfen, indem Sie den folgenden Befehl ausführen:
sudo service ssh status
Wenn der Status als "aktiv" angezeigt wird, ist der SSH–Server in Betrieb und Sie können mit dem nächsten Schritt fortfahren, dem Konfigurieren des Zugriffs.
Grundlegende Konzepte eines SSH-Servers
Ein SSH-Server ist eine Software, die zwei Hauptfunktionen erfüllt: akzeptiert eingehende Verbindungen von SSH-Clients und ermöglicht den Fernzugriff auf den Server über eine verschlüsselte Verbindung.
Der SSH-Server authentifiziert den Benutzer, indem er seine Login-Daten wie Login und Passwort überprüft. Nach erfolgreicher Authentifizierung greift der Benutzer auf die Befehlszeile des Remote-Servers zu, wo er Befehle ausführen und verschiedene Aufgaben ausführen kann.
Einer der Hauptvorteile des SSH–Servers ist seine Fähigkeit, Daten zu verschlüsseln, die zwischen dem Client und dem Server übertragen werden. Dies verhindert, dass Angreifer Informationen abfangen und die Verbindung sichern.
Der SSH-Server kann auch verwendet werden, um Dateien zwischen dem Client und dem Server mithilfe von SCP (Secure Copy Protocol) oder SFTP (SSH File Transfer Protocol) zu übertragen. Dies bietet praktische Tools für die Arbeit mit gelöschten Dateien, ohne dass zusätzliche Programme benötigt werden.
Abschnitt 1
Was ist SSH und warum wird es benötigt?
SSH (Secure Shell) ist ein Protokoll, das eine sichere Verbindung zwischen zwei Knoten in einem Netzwerk ermöglicht. Es ermöglicht Ihnen, einen Computer oder einen Server per Fernzugriff über einen verschlüsselten Kanal zu verwalten.
Der SSH-Server ermöglicht es Ihnen, den Benutzer zu authentifizieren und Daten auf sichere Weise auszutauschen. Dies ist besonders nützlich, wenn Sie mit Remote-Servern wie Ubuntu-Servern arbeiten. Sie können SSH verwenden, um remote auf den Server zuzugreifen, Befehle auszuführen, Dateien zu übertragen und den Server zu verwalten.
Wie kann ich einen SSH-Server auf Ubuntu einrichten?
Die Einrichtung eines SSH-Servers unter Ubuntu ist einfach genug. Hier ist eine Schritt-für-Schritt-Anleitung:
- Installieren Sie das OpenSSH-Serverpaket: sudo apt install openssh-server .
- Bearbeiten Sie die SSH-Konfigurationsdatei des Servers: sudo nano /etc/ssh/sshd_config .
- Geben Sie den Port an, an dem der Server abhören soll (Standard ist 22).
- Erlauben oder verbieten Sie die Anmeldung per Passwort.
- Konfigurieren Sie die anderen Sicherheitseinstellungen nach Belieben.
- Starten Sie den SSH-Server neu: sudo service ssh restart .
Jetzt ist Ihr SSH-Server konfiguriert und einsatzbereit. Sie können eine Verbindung mit dem SSH-Client herstellen, indem Sie die Server-IP-Adresse und die Anmeldeinformationen des Benutzers verwenden.
OpenSSH installieren und konfigurieren
Schritt 1: Installieren von OpenSSH
Zuerst installieren wir das OpenSSH-Paket auf Ubuntu. Geben Sie im Terminal den folgenden Befehl ein:
sudo apt-get install openssh-server
Dieser Befehl installiert die neueste Version des OpenSSH-Servers.
Schritt 2: Konfigurieren von OpenSSH
Nachdem Sie das OpenSSH-Paket installiert haben, müssen Sie einige Änderungen an der Einstellungsdatei vornehmen.
1. Öffnen Sie die OpenSSH-Konfigurationsdatei mit folgendem Befehl:
sudo nano /etc/ssh/sshd_config
2. Suchen Sie nach der Zeile #PermitRootLogin prohibit-password und kommentieren Sie sie, indem Sie sie durch ersetzen:
PermitRootLogin yes
3. Speichern Sie die Änderungen durch Drücken von Strg + O und schließen Sie dann die Datei durch Drücken von Strg + X .
Schritt 3: Starten Sie den SSH-Server neu
Nachdem Sie Änderungen an der Einstellungsdatei vorgenommen haben, müssen Sie den OpenSSH-Server mit folgendem Befehl neu starten:
sudo systemctl restart sshd
Dadurch wird der SSH-Server neu gestartet und die vorgenommenen Änderungen werden übernommen.
Schritt 4: Verbindung zum SSH-Server herstellen
Jetzt, da OpenSSH erfolgreich auf Ihrem Ubuntu-Server installiert und konfiguriert ist, können Sie sich von einem Remote-System aus mit ihm verbinden. Öffnen Sie dazu ein Terminal auf dem Remotesystem und geben Sie den folgenden Befehl ein:
ssh username@ip_address
Ersetzen Sie username durch Ihren Benutzernamen auf dem Ubuntu-Server und ip_address durch die IP-Adresse Ihres Servers.
Sie werden aufgefordert, ein Passwort einzugeben, und nach der richtigen Eingabe werden Sie erfolgreich mit dem SSH-Server unter Ubuntu verbunden.
Hinweis: Stellen Sie sicher, dass der SSH-Port (Standard 22) auf Ihrem Ubuntu-Server geöffnet ist, bevor Sie eine Verbindung herstellen.
Abschnitt 2
Installieren eines SSH-Servers auf Ubuntu
1. Öffnen Sie ein Terminal auf Ihrem Computer.
2. Geben Sie den folgenden Befehl ein, um das OpenSSH Server-Paket zu installieren:
| sudo apt-get update | Aktualisiert die Paketliste |
| sudo apt-get install openssh-server | Installiert das OpenSSH Server-Paket |
| sudo systemctl enable ssh | Aktiviert den SSH-Server beim Systemstart automatisch |
| sudo systemctl start ssh | Startet den SSH-Server |
3. Überprüfen Sie den SSH-Status des Servers, um sicherzustellen, dass er funktioniert:
sudo systemctl status ssh
Wenn alles richtig konfiguriert ist, wird eine Meldung angezeigt, dass der SSH-Server erfolgreich gestartet wurde.
4. Jetzt ist Ihr SSH-Server einsatzbereit.
Generieren von SSH-Schlüsseln
Um SSH-Schlüssel zu generieren, müssen Sie die folgenden Schritte ausführen:
- Öffnen Sie ein Terminal auf Ihrem Ubuntu-Server.
- Geben Sie den folgenden Befehl ein, um ein neues SSH-Schlüsselpaar zu generieren:
ssh-keygen -t rsa -b 4096
ssh-copy-id username@server_ip
Das ist alles! Jetzt können Sie sich mit Ihren SSH-Schlüsseln über SSH mit dem Server verbinden.
Abschnitt 3
Konfigurieren von Benutzern für den Zugriff über einen SSH-Server
Nachdem Sie einen SSH-Server auf Ubuntu installiert und konfiguriert haben, müssen Sie möglicherweise den Benutzerzugriff darauf konfigurieren. In diesem Abschnitt erfahren Sie, wie Sie Benutzer hinzufügen und ihre Authentifizierung über SSH konfigurieren.
1. Hinzufügen eines neuen Benutzers
Um einen neuen Benutzer hinzuzufügen, müssen Sie den folgenden Befehl ausführen:
sudo adduser имя_пользователя
Ersetzen Sie "Benutzername" durch den gewünschten Namen für den neuen Benutzer.
2. Konfigurieren der Passwortauthentifizierung
Wenn Sie einen neuen Benutzer hinzufügen, werden Sie standardmäßig aufgefordert, ein Passwort für diesen Benutzer festzulegen. Wenn Sie jedoch bereits einen Benutzer hinzugefügt haben, aber kein Passwort festgelegt haben, können Sie dies mit dem folgenden Befehl tun:
sudo passwd имя_пользователя
Sie werden aufgefordert, ein neues Passwort einzugeben und zu bestätigen.
3. Konfigurieren der Schlüsselauthentifizierung
Anstatt sich mit einem Passwort zu authentifizieren, können Sie auch die Benutzerauthentifizierung über SSH-Schlüssel konfigurieren. Dazu müssen Sie die folgenden Schritte ausführen:
3.1. Erstellen Sie ein Verzeichnis. "ssh" im Home-Verzeichnis des neuen Benutzers:
sudo mkdir /home/имя_пользователя/.ssh
3.2. Konfigurieren Sie die Zugriffsrechte für das Verzeichnis. "ssh":
sudo chmod 700 /home/имя_пользователя/.ssh
3.3. Erstellen Sie die Datei "authorized_keys" im Verzeichnis ".ssh":
sudo touch /home/имя_пользователя/.ssh/authorized_keys
3.4. Konfigurieren Sie die Zugriffsrechte für die Datei "authorized_keys":
sudo chmod 600 /home/имя_пользователя/.ssh/authorized_keys
3.5. Kopieren Sie den öffentlichen Schlüssel des Benutzers in die Datei "authorized_keys". Sie können dies mit dem folgenden Befehl tun:
sudo echo "открытый_ключ" >> /home/имя_пользователя/.ssh/authorized_keys
Ersetzen Sie "öffentlicher Schlüssel" durch den tatsächlichen Wert des öffentlichen Schlüssels, den Sie verwenden möchten. Sie können mehrere Schlüssel in einer neuen Zeile hinzufügen.
4. Überprüfen Sie die Einstellungen
Sie können versuchen, sich mit ihren Benutzerkonten über SSH anzumelden, um die Leistung der konfigurierten Benutzer zu überprüfen. Führen Sie dazu den folgenden Befehl aus:
ssh имя_пользователя@ip_адрес
Ersetzen Sie "Benutzername" durch den Namen des hinzugefügten Benutzers und "IP-Adresse" durch die IP-Adresse Ihres Servers. Nachdem Sie den Befehl eingegeben haben, werden Sie aufgefordert, ein Passwort einzugeben (wenn Sie die Passwort-Authentifizierung verwenden) oder einen Schlüssel einzugeben (wenn Sie die Authentifizierung über SSH-Schlüssel verwenden). Wenn die Anmeldung erfolgreich ist, werden Sie als neuer Benutzer angemeldet.
5. Löschen eines Benutzers
Wenn Sie einen Benutzer entfernen müssen, können Sie den folgenden Befehl ausführen:
sudo deluser имя_пользователя
Ersetzen Sie "Benutzername" durch den Namen des Benutzers, den Sie löschen möchten. Neben dem Löschen eines Benutzers löscht der Befehl auch sein Home-Verzeichnis und sein Postfach.
In diesem Abschnitt haben wir die grundlegenden Schritte zum Hinzufügen von Benutzern und zum Konfigurieren der Authentifizierung über einen SSH-Server untersucht. Das Einrichten des Benutzerzugriffs ist ein wichtiger Teil der Sicherheit Ihres Servers. Stellen Sie daher sicher, dass die Benutzerzugriffsrechte korrekt konfiguriert sind.
Authentifizierung mit SSH-Schlüsseln
Um die Authentifizierung mit SSH-Schlüsseln einzurichten, müssen Sie die folgenden Schritte ausführen:
- Erstellen Sie ein Schlüsselpaar auf dem Clientcomputer. Dazu können Sie den Befehl ssh-keygen verwenden. Standardmäßig werden zwei Dateien erstellt: id_rsa (privater Schlüssel) und id_rsa.pub (öffentlicher Schlüssel).
- Senden Sie den öffentlichen Schlüssel an den Server. Sie können den ssh-copy-id-Befehl verwenden, um den Schlüssel automatisch zu übertragen, oder Sie können ihn manuell kopieren und zur ~/ -Datei hinzufügen.ssh/authorized_keys auf dem Server.
- Konfigurieren Sie einen SSH-Server für die Schlüsselauthentifizierung. Öffnen Sie dazu die Datei /etc/ssh/sshd_config und legen Sie die Werte für die Optionen PubkeyAuthentication und AuthorizedKeysFile fest. Normalerweise sind diese Optionen bereits standardmäßig konfiguriert, stellen Sie jedoch sicher, dass sie nicht auskommentiert sind.
- Starten Sie den SSH-Server neu, um die Änderungen anzuwenden. Sie können den Befehl sudo systemctl restart ssh oder sudo service ssh restart verwenden.
Sobald diese Schritte abgeschlossen sind, sollten Sie in der Lage sein, mit Ihrem privaten Schlüssel eine Verbindung zum SSH-Server herzustellen. Wenn der Server den Passwortzugriff verwendet, wird er deaktiviert und Sie können sich nur mit einem Schlüssel verbinden.
Die Authentifizierung über SSH-Schlüssel bietet eine höhere Sicherheit, da Schlüssel schwieriger zu finden sind als Passwörter und nicht abgefangen oder erraten werden können. Es wird empfohlen, diese Authentifizierungsmethode zu verwenden, um Ihren Server zu schützen.