Einrichten des SSH-Servers
In diesem Schritt werden wir einen grundlegenden SSH-Server auf der LabEx VM einrichten. SSH (Secure Shell) ist ein kryptographisches Netzwerkprotokoll, das es ermöglicht, Netzwerkdienste sicher über ein unsicheres Netzwerk zu betreiben. Es wird üblicherweise für die ferngesteuerte Befehlszeilenanmeldung und die ferngesteuerte Befehlsausführung verwendet.
Zunächst müssen wir den OpenSSH-Server installieren. OpenSSH ist eine Suite von sicherheitsrelevanten Netzwerktools, die auf dem Secure Shell-Protokoll basieren. Es bietet einen sicheren Kanal über ein unsicheres Netzwerk in einer Client-Server-Architektur.
Führen Sie den folgenden Befehl aus, um den OpenSSH-Server zu installieren:
sudo apt update
sudo apt install -y openssh-server
Dieser Befehl aktualisiert zunächst die Paketlisten für Upgrades und neue Installationen. Anschließend wird das openssh-server
-Paket installiert. Das -y
-Flag beantwortet automatisch alle Abfragen während der Installation mit "ja".
Nach Abschluss der Installation sollte der SSH-Server automatisch starten. Sie können seinen Status mit dem folgenden Befehl überprüfen:
sudo systemctl status ssh
Sie sollten eine Ausgabe ähnlich der folgenden sehen:
● ssh.service - OpenBSD Secure Shell server
Loaded: loaded (/lib/systemd/system/ssh.service; enabled; vendor preset: enabled)
Active: active (running) since Tue 2023-10-24 10:00:00 UTC; 10s ago
Docs: man:sshd(8)
man:sshd_config(5)
Main PID: 1234 (sshd)
Tasks: 1 (limit: 4621)
Memory: 1.2M
CPU: 10ms
CGroup: /system.slice/ssh.service
└─1234 sshd: /usr/sbin/sshd -D
Oct 24 10:00:00 labex systemd[1]: Started OpenBSD Secure Shell server.
Wenn der SSH-Service nicht läuft, können Sie ihn mit folgendem Befehl starten:
sudo systemctl start ssh
Da der SSH-Server jetzt läuft, können Sie von einem anderen Computer aus mit einem SSH-Client eine Verbindung zu ihm herstellen. Um eine Verbindung herzustellen, benötigen Sie die IP-Adresse der LabEx VM. Sie können diese mit dem Befehl ifconfig
ermitteln. Da ifconfig
jedoch möglicherweise nicht standardmäßig installiert ist, ist ein zuverlässigerer Befehl ip addr
.
ip addr
Suchen Sie nach der inet
-Adresse, die mit der Netzwerkschnittstelle (normalerweise eth0
oder enp0s3
) verknüpft ist. Sie sieht in etwa so aus: 192.168.1.100
.
Beispielsweise könnte die Ausgabe so aussehen:
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 02:42:ac:11:00:02 brd ff:ff:ff:ff:ff:ff
inet 172.17.0.2/16 brd 172.17.255.255 scope global eth0
valid_lft forever preferred_lft forever
In diesem Fall ist die IP-Adresse 172.17.0.2
.
Sie können dann diese IP-Adresse verwenden, um von einem anderen Computer aus mit dem Befehl ssh labex@<IP_ADDRESS>
eine Verbindung zum SSH-Server herzustellen. Sie müssen dies jetzt nicht tun, da wir Hydra auf demselben Computer verwenden werden.
Abschließend konfigurieren wir den SSH-Server so, dass die Passwortauthentifizierung ermöglicht wird. Standardmäßig bevorzugt SSH häufig die Schlüsselbasierte Authentifizierung, die sicherer ist. Für dieses Lab aktivieren wir jedoch aus Gründen der Einfachheit die Passwortauthentifizierung.
Bearbeiten Sie die SSH-Server-Konfigurationsdatei mit nano
:
sudo nano /etc/ssh/sshd_config
Suchen Sie die Zeile #PasswordAuthentication no
und heben Sie die Kommentierung auf (entfernen Sie das #
) und ändern Sie no
in yes
:
PasswordAuthentication yes
Speichern Sie die Datei, indem Sie Strg+X
, dann Y
und schließlich Enter
drücken.
Starten Sie den SSH-Server neu, damit die Änderungen wirksam werden:
sudo systemctl restart ssh
Jetzt ist der SSH-Server eingerichtet und so konfiguriert, dass die Passwortauthentifizierung möglich ist.