GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Installieren und Konfigurieren von OpenSSH auf Ubuntu- und Debian-basierten Distributionen

Wenn Sie SSH auf dem Ubuntu-Desktop aktivieren möchten , verwenden Sie den folgenden Befehl:

sudo apt install openssh-client

Wenn Sie SSH auf dem Ubuntu-Server aktivieren möchten , verwenden Sie den folgenden Befehl:

sudo apt install openssh-server

Lesen Sie den Rest des Artikels für weitere Informationen.

Jeder Systemadministrator und Entwickler hat die Notwendigkeit von Remote-Logins in die Systeme für schnellere Verwaltungs- und Debugging-Zwecke erlebt.

In einer IT-Umgebung werden heutzutage fast alle Sysadmin-Aufgaben über Remote-Logins ausgeführt.

Und nicht nur Systemadministratoren, auch normale Benutzer müssen sich manchmal remote bei den Servern anmelden.

Wie stellen Sie also eine Remote-Verbindung zu einem Linux-System her? Es gibt mehrere Tools für Remote-Logins, aber wenn es um Linux geht, ist SSH die beliebteste Wahl.

SSH, kurz für Secure Shell, ist ein Protokoll, das eine sichere Fernanmeldung von einem Computer zum anderen ermöglicht.

Nun stellt sich die Frage, wie aktivieren Sie SSH auf Ubuntu oder Debian oder anderen Linux-Distributionen, die Sie verwenden?

Denken Sie daran, dass SSH nur ein Protokoll ist und dieses Protokoll über eine Reihe von Tools wie lsh, Dropbear usw. implementiert werden kann, aber das am weitesten verbreitete Tool für SSH ist die Open-Source-Software OpenSSH.

In diesem Tutorial erfahren Sie, wie Sie OpenSSH installieren und konfigurieren, um SSH auf Ubuntu- und Debian-basierten Linux-Distributionen zu aktivieren. Die genannten Schritte gelten sowohl für Desktop- als auch für Serverversionen von Ubuntu/Debian.

Ich empfehle auch, diesen Artikel zu lesen, um sich mit den Grundlagen von SSH vertraut zu machen.

Aktiviere SSH auf Ubuntu und Debian mit OpenSSH

Wie ich bereits erwähnt habe, ist OpenSSH die Software zum Erstellen von SSH-Anmeldungen. Es lauscht auf einem Port und authentifiziert die eingehenden Benutzer und erstellt eine neue Shell für den entfernten Benutzer.

Damit SSH funktioniert, muss ein SSH-Server auf dem Remote-System laufen, bei dem sich der Benutzer anmelden muss. Sie müssen auch einen SSH-Client im lokalen System haben, von dem aus sich der Benutzer beim Remote-System anmeldet.

OpenSSH bietet diese beiden Funktionalitäten. Es gibt openssh-client für Endbenutzer und openssh-server für die Remote-Server.

Bevor Sie OpenSSH installieren, sollten Sie überprüfen, ob SSH bereits installiert ist und auf Ihrem System ausgeführt wird.

Überprüfen Sie, ob SSH bereits aktiviert ist und ausgeführt wird

Es ist wahrscheinlicher, dass SSH bereits auf Ihrem System aktiviert ist. Führen Sie zur Überprüfung den folgenden Befehl auf dem Remote-Server oder dem Endbenutzersystem aus:

ps -aux | grep ssh

Wenn SSH aktiviert ist, sollten Sie eine Information über den SSH-Agenten auf Ihrem Desktop sehen:

ps -aux | grep ssh

abhishek  1736  0.0  0.0  11304    36 ?        Ss   08:18   0:00 /usr/bin/ssh-agent /usr/bin/im-launch env GNOME_SHELL_SESSION_MODE=ubuntu gnome-session --session=ubuntu

abhishek 10462  0.0  0.0  21536  1044 pts/0    S+   10:15   0:00 grep --color=auto ssh

Auf dem Server sollten Sie die Informationen über einen laufenden SSH-Daemon sehen:

ps -aux | grep ssh

root       920  0.0  0.2  72296  6028 ?        Ss    2018   0:17 /usr/sbin/sshd -D

root     22708  0.0  0.3 108172  7364 ?        Ss   05:13   0:00 sshd: [email protected]/0

root     22873  0.0  0.0  14856  1068 pts/0    S+   05:14   0:00 grep --color=auto ssh

Wenn Sie keine Ausgabe ähnlich der oben genannten sehen, wird SSH nicht auf Ihrem System ausgeführt. Es ist an der Zeit, OpenSSH zu installieren.

Installieren von OpenSSH auf Ubuntu und Debian

Eine kurze Anmerkung zu openssh-client und openssh-server, bevor Sie mit der Installation von OpenSSH fortfahren.

openssh-client: Dies ist das Paket, das Sie benötigen, wenn Sie sich über SSH mit einem entfernten Linux-System verbinden möchten. Das brauchen Sie als Endbenutzer/Desktop-Benutzer.

openssh-server: Dies ist das Paket, das Sie benötigen, wenn Sie Remote-Logins über SSH auf Ihrem System zulassen möchten. Das brauchen Sie auf Ihrem Linux-Server.

Beachten Sie, dass die Installation von openssh-server Ihnen auch die Remote-Anmeldung bei anderen Systemen über SSH ermöglicht. Mit anderen Worten, openssh-server besteht aus openssh-client. Wenn Sie jedoch nur ein Endbenutzer mit einem Linux-Desktop sind, besteht (meistens) keine Notwendigkeit, openssh-server zu installieren und die Remote-Anmeldung an Ihrem System zuzulassen.

Jetzt, da Sie den Unterschied zwischen den beiden kennen, ist es an der Zeit zu sehen, wie man sie installiert.

Beachten Sie, dass Sie zur Installation von OpenSSH unter Ubuntu oder Debian sudo/root-Rechte benötigen. Wenn Sie keine solche Berechtigung haben, wenden Sie sich an Ihren Systemadministrator. Sie können auch diesen Artikel über das Erstellen von sudo-Benutzern lesen.

Installieren von OpenSSH für Desktop- oder Endbenutzer

Wenn Sie sich nur über SSH mit anderen Remote-Systemen verbinden möchten, sollten Sie das Paket openssh-client mit dem folgenden Befehl installieren:

sudo apt update
sudo apt install openssh-client

Sobald Sie ssh auf Ihrem System installiert haben, können Sie es verwenden. Bitte lesen Sie diesen ausführlichen Artikel, um zu erfahren, wie SSH verwendet wird.

Installieren von OpenSSH für Server

Wenn Sie einen Ubuntu/Debian-Server einrichten, sollten Sie das Paket openssh-server installieren, damit sich andere entfernte Benutzer mit Ihrem System verbinden können.

sudo apt update
sudo apt install openssh-server

Sobald Sie openssh-server installiert haben, ist es an der Zeit zu lernen, wie Sie ihn optimieren und nach Ihren Bedürfnissen konfigurieren können.

Steuerung des SSH-Daemons sshd (für Server)

Sie haben den SSH-Daemon namens sshd installiert und standardmäßig aktiviert, um beim Neustart automatisch gestartet zu werden. systemctl ist eine von mehreren Möglichkeiten, den SSH-Daemon zu steuern. Um mehr über systemctl zu erfahren , lesen Sie bitte diesen Artikel.

Starten Sie den sshd-Dienst

Der Dienst kann gestartet werden, indem einfach Folgendes ausgegeben wird:

sudo systemctl start sshd

Beenden Sie den sshd-Dienst

Der Dienst kann auf ähnliche Weise gestoppt werden:

sudo systemctl stop sshd

Starten Sie den sshd-Dienst neu

Wenn Sie möchten, dass der sshd-Dienst gestoppt und gestartet wird (normalerweise erforderlich, wenn die Konfiguration zum sshd-Dienst geändert wird), können Sie einfach diesen Befehl verwenden:

sudo systemctl restart sshd

SSH auf Ubuntu automatisch bei jedem Start aktivieren

Einige Dienste müssen beim Neustart gestartet werden, um manuelle Eingriffe zu vermeiden und wenn sie sehr häufig verwendet werden. Es ist sehr wichtig für Dienste wie Apache, Mongod, Mysqld, Sshd in Servern.

Wenn Sie einen solchen automatischen Start für sshd aktivieren möchten, verwenden Sie:

sudo systemctl enable sshd

SSH-Autostart beim Neustart deaktivieren

Wenn Sie nicht möchten, dass sshd beim Neustart automatisch gestartet wird, verwenden Sie

sudo systemctl disable sshd

Die oben genannten vier Tipps sind immer dann erforderlich, wenn Sie Änderungen am ssh-Dienst vornehmen, z. B. den Port ändern. Sie können die obigen Befehle verwenden, um jeden Dienst (wie mysqld, mongod, apache) zu verwalten, wobei der Dienstname sshd durch den Zieldienst ersetzt wird.

Tipp :Sie können den Befehl nohup verwenden, um weiterhin Befehle auszuführen, selbst wenn Ihre SSH-Verbindung getrennt wird.

SSH konfigurieren (für Server)

Ab sofort lauscht unser ssh-Dienst auf Port 22 und ist bereit, jeden Benutzer (auch Root) zu authentifizieren, sobald ein Schlüssel gespeichert ist.

Wenn Sie eine der Konfigurationen ändern möchten, z. B. den Port zum Abhören von Verbindungen, können Sie die Datei „/etc/ssh/sshd_config bearbeiten ” durch Hinzufügen, Löschen, Kommentieren oder Auskommentieren der Zeilen und starten Sie dann den sshd-Dienst neu.

Es gibt viele Optionen zum Konfigurieren. Ich habe eine Liste mit Konfigurationen erstellt, die höchstwahrscheinlich benötigt werden.

1. Ändern Sie den Standard-SSH-Port

Normalerweise lauscht der sshd-Dienst auf TCP-Port 22. Wenn Sie möchten, können Sie den SSH-Port auf 5678 ändern, indem Sie die folgende Zeile in /etc/ssh/ssh_config. hinzufügen/bearbeiten

Port 5678

Starten Sie den Dienst neu, um die Änderung sofort zu sehen.

2. Deaktivieren Sie die Root-Anmeldung über SSH

Root-Benutzern die Authentifizierung per ssh zu erlauben, ist aus Sicherheitsgründen keine gute Idee. sudo Benutzer können remote angemeldet sein, aber nicht als root als root steht an der Spitze der Sicherheitsnahrungskette.

Die Root-Anmeldung kann deaktiviert werden, indem Sie (falls noch nicht vorhanden) die folgende Zeile hinzufügen und den Dienst neu starten.

PermitRootLogin no

Wenn die Zeile bereits vorhanden ist, stellen Sie sicher, dass sie nicht auskommentiert ist.

3. SSH-schlüsselbasierte Authentifizierung zulassen auf

Möglicherweise möchten Sie die ssh-schlüsselbasierte Authentifizierung zulassen, damit der Endbenutzer nicht ständig das Kennwort eingeben muss. Die Verwendung von ssh [email protected] reicht aus, um sich beim Remote-System anzumelden.

Dazu sollten Sie SSH so konfigurieren, dass die Public-Key-Authentifizierung zugelassen wird:

PubkeyAuthentication yes 

Wenn die Zeile bereits vorhanden ist, stellen Sie sicher, dass sie nicht auskommentiert ist.

Wenn Sie nun einem bestimmten System erlauben möchten, sich über den öffentlichen Schlüssel anzumelden, müssen Sie diesen öffentlichen Schlüssel des Endbenutzers in der Datei .ssh/authorized_keys hinzufügen .

Sie können SSH-Schlüssel (öffentlicher Schlüssel und privater Schlüssel) mit Hilfe von ssh-keygen erstellen . Um mehr über die Schlüsselgenerierung zu erfahren, lesen Sie diese großartige Ressource.

Sie können den öffentlichen Schlüssel des Endbenutzers auf beliebige Weise auf den Remote-Server übertragen. Sie können den scp-Befehl verwenden, wenn Sie möchten, oder ihn einfach per FTP abrufen. Es liegt wirklich an Ihnen.

Die drei oben genannten werden am dringendsten benötigt, aber wenn Sie weitere Änderungen vornehmen möchten, lesen Sie bitte die Manpage von sshd_config .

Fazit

Ich denke, das ist ausreichend Lesematerial, um zu wissen, wie man SSH auf Ubuntu/Debian aktiviert und wie man SSH auf Ihrem Server für Remote-Anmeldungen konfiguriert.

In einem verwandten Artikel können Sie auf diesen Artikel verweisen, in dem ein SSH-Fehler beschrieben wird, der durch das Kopieren öffentlicher Schlüssel zwischen Systemen auftritt.

Wenn Sie diesen Artikel nützlich fanden, teilen Sie ihn mit Ihren Freunden. Wenn Sie Vorschläge oder Kommentare haben oder der Meinung sind, dass ich etwas verpasst habe, können Sie unten einen Kommentar hinterlassen.


Linux
  1. Installieren und Konfigurieren von PHP 7x auf Centos 8

  2. Installation und Einrichtung von Php und Nginx unter Ubuntu 20.04

  3. Linux – Einen benutzerdefinierten Linux-Kernel konfigurieren, kompilieren und installieren?

  4. Installation und Konfiguration von vsFTPD

  5. Richten Sie SFTP ein und verhindern Sie SSH unter Ubuntu 20.04

So listen Sie installierte Pakete auf Ubuntu- und Debian-basierten Linux-Distributionen auf

Vollständige Anleitung zum Konfigurieren von SSH in Ubuntu

Installation und Konfiguration von OpenVPN (Windows)

Installation und Konfiguration von OpenVPN (Ubuntu)

Installation und Konfiguration von OpenVPN (CentOS6)

Ändern Sie Ihren SSH-Port in Ubuntu und Debian