Suche…


Einführung

Eine sichere Shell wird verwendet, um über eine verschlüsselte Verbindung von einem Client aus remote auf einen Server zuzugreifen. OpenSSH wird als Alternative zu Telnet-Verbindungen verwendet, die einen Remote-Shell-Zugriff erzielen, jedoch unverschlüsselt sind. Der OpenSSH-Client ist standardmäßig auf den meisten GNU / Linux-Distributionen installiert und wird für die Verbindung zu einem Server verwendet. Diese Beispiele zeigen, wie Sie die SSH-Suite verwenden, um SSH-Verbindungen anzunehmen und eine Verbindung zu einem anderen Host herzustellen.

Verbindung zu einem Remote-Server

Um eine Verbindung zu einem Server herzustellen, müssen wir SSH auf dem Client wie folgt verwenden:

# ssh -p port user@server-address
  • port - Der empfangende ssh-Port des Servers (Standardport 22).
  • user - Muss auf dem Server mit SSH-Berechtigungen vorhanden sein.
  • Serveradresse - Die IP / Domäne des Servers.

Für ein reales Beispiel können Sie so tun, als würden Sie eine Website erstellen. Das Unternehmen, das Sie als Host für Ihre Site ausgewählt haben, teilt Ihnen mit, dass sich der Server bei web-servers.com an einem benutzerdefinierten Port von 2020 befindet und Ihr Kontoname usr1 ausgewählt wurde, um einen Benutzer auf dem Server mit SSH-Berechtigungen zu erstellen. In diesem Fall wäre der verwendete SSH-Befehl so

# ssh -p 2020 [email protected]

Wenn der Kontoname auf dem Remote-System mit dem des lokalen Clients identisch ist, können Sie den Benutzernamen deaktivieren. Wenn Sie usr1 auf beiden Systemen usr1 sind, können Sie einfach web-servers.com anstelle von [email protected] .

Wenn Sie nicht direkt auf einen Server zugreifen können, zu dem Sie eine Verbindung herstellen möchten, können Sie den ProxyJump-Switch verwenden, um eine Verbindung über einen anderen Server herzustellen, auf den Sie zugreifen können, und eine Verbindung mit dem gewünschten Server.

# ssh -J [email protected]:2020 [email protected] -p 2222

Auf diese Weise können Sie über den Server 10.0.0.1 (auf dem s20 auf dem Port 2020 ausgeführt wird) eine Verbindung zum Server 10.0.0.2 (mit ssh auf Port 2222) herstellen. Sie müssen natürlich Konten auf beiden Servern haben. Beachten Sie auch, dass der Schalter -J in OpenSSH Version 7.3 eingeführt wurde.

OpenSSH-Suite installieren

Sowohl für die Verbindung mit einem openssh SSH-Server als auch für die Annahme von SSH-Verbindungen ist die Installation von openssh erforderlich

Debian:

# apt-get install openssh

Arch Linux:

# pacman -S openssh

Yum:

# yum install openssh

Generieren Sie öffentlichen und privaten Schlüssel

So generieren Sie Schlüssel für den SSH-Client:

ssh-keygen [-t rsa | rsa1 | dsa ] [-C <comment>] [-b bits]

Zum Beispiel:

ssh-keygen -t rsa -b 4096 - C [email protected]

Der Standardspeicherort ist ~/.ssh/id_rsa für private und ~/.ssh/id_rsa.pub für öffentlichen Schlüssel.

Für weitere Informationen besuchen Sie bitte man.openbsd.org

Konfigurieren eines SSH-Servers zum Akzeptieren von Verbindungen

Zuerst müssen wir die SSH-Daemon-Konfigurationsdatei bearbeiten. Unter verschiedenen Linux-Distributionen kann sich diese /etc/ssh/sshd_config in verschiedenen Verzeichnissen befinden. Normalerweise wird sie unter /etc/ssh/sshd_config

Verwenden Sie Ihren Texteditor, um die in dieser Datei gesetzten Werte zu ändern. Alle Zeilen, die mit # beginnen, werden auskommentiert und müssen dieses Zeichen entfernen, damit sie wirksam werden. Eine Liste von Empfehlungen folgt als solche.

Port (chose a number between 0 - 65535, normaly greater than four digits)
PasswordAuthentication yes
AllowUsers    user1 user2 ...etc

Beachten Sie, dass es vorzuziehen ist, alle Kennwortanmeldungen gemeinsam zu deaktivieren und SSH-Schlüssel zu verwenden, um die Sicherheit zu verbessern, wie in diesem Dokument beschrieben.

Deaktivieren Sie den SSH-Dienst

Dadurch wird der SSH-Server-seitige Dienst deaktiviert, da bei Bedarf sichergestellt wird, dass Clients keine Verbindung über SSH herstellen können

Ubuntu

sudo service ssh stop

Debian

sudo /etc/init.d/ssh stop

Arch Linux

sudo killall sshd

Passwortlose Verbindung (über ein Schlüsselpaar)

Zunächst benötigen Sie ein Schlüsselpaar. Wenn Sie noch keinen haben, werfen Sie einen Blick auf das Thema "Generieren von öffentlichen und privaten Schlüsseln".

Ihr Schlüsselpaar besteht aus einem privaten Schlüssel (id_rsa) und einem öffentlichen Schlüssel (id_rsa.pub). Sie müssen ~/.ssh/authorized_keys den öffentlichen Schlüssel auf den Remote-Host kopieren und dessen Inhalt zur Datei ~/.ssh/authorized_keys hinzufügen.

Eine einfache Möglichkeit, dies zu tun, ist:

ssh <user>@<ssh-server> 'cat >> ~/.ssh/authorized_keys' < id_rsa.pub

Wenn der öffentliche Schlüssel ordnungsgemäß im Heimatverzeichnis des Benutzers gespeichert ist, müssen Sie sich nur mit dem entsprechenden privaten Schlüssel anmelden:

ssh <user>@<ssh-server> -i id_rsa



Modified text is an extract of the original Stack Overflow Documentation
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow