Nach der Installation des Minimal-Images von Debian 10 – Buster – loggen wir uns zum ersten mal in unser neues System ein.
Als Erstes müssen wir unseren SSH-Server auf „Schlüssel/Schloss“ umstellen, da momentan ein „root“-Zugang mit „Passwort“ eingestellt ist.
Danach ändern wir ein paar Systemeinstellungen und installieren „Docker“, weil wir den für alle unsere Folge-Tutorials brauchen werden… Legen wir los!
Normalerweise arbeite ich ja unter einem gesonderten Benutzeraccount. Für diese Tutorials ist es aber einfacher, das direkt als „root“ zu machen. Durch das „Schlüssel/Schloss“-Verfahren bei SSH und einem geänderten SSH-Port fühle ich mich da einigermaßen sicher… Ich überlasse es jedem einzelnen, hier abzuwägen, ob er auch unter „root“ arbeitet, oder sich einen Benutzer zulegt und dann jedes Mal mit „sodo“ die nötigen Berechtigungen erlangt.
Jetzt loggen wir uns mit „root“ und dem von Netcup eingerichteten Passwort über SSH auf Port 22 in den Server ein…
SSH-Server absichern / einrichten
Schauen wir uns mal um… Mit einem
ls -la
Bekommen wir folgende Ausgabe:
drwx------ 5 root root 4096 Aug 26 17:43 . drwxr-xr-x 18 root root 4096 Aug 25 17:26 .. -rw------- 1 root root 2129 Aug 26 11:01 .bash_history -rw-r--r-- 1 root root 1921 Aug 26 10:28 .bashrc drwx------ 3 root root 4096 Aug 26 10:54 .gnupg drwxr-xr-x 3 root root 4096 Aug 26 09:56 .local -rw-r--r-- 1 root root 148 Aug 17 2015 .profile drwx------ 2 root root 4096 Aug 26 10:08 .ssh
Wir sehen, dass unser „.ssh“-Verzeichnis schon angelegt ist. Das werden wir auch gleich benutzen…
Zur Erstellung des Schlüsselpaars und der genaueren Erklärung des Vorgangs verweise ich auf die folgenden Tutorials:
- Schlüsselpaare erstellen mit puttygen
- SSH absichern – vom Passwort zum Schlüssel
Den öffentlichen Schlüsselteil legen wir in der „authorized_keys“-Datei auf dem Server im „.ssh“-Verzeichnis ab:
nano ~/.ssh/authorized_keys ### Schlüssel per Copy/Paste hier her kopieren ssh-rsa AAAAB3NzaC1yc2EAAAABJQAABAEAmQneFHXbCt3MerYO9a5xfSCA7/0qasiMugCTYpJm19WV9tmN.........
Mit einem „Strg+x“ und „y“ speichern wir die Datei ab. Jetzt ändern wir noch die Zugriffsberechtigung:
chmod 0600 ~/.ssh/authorized_keys
Damit bekommt nur noch „root“ Zugriff und niemand sonst darf diese Datei öffnen.
Gut, im nächsten Schritt verschieben wir die Konfigurationsdatei von sshd – unserem SSH-Server – und legen eine neue mit unseren geänderten Werten an. Hervorzuheben ist die geänderte Port-Nummer, auf die wir dann achten müssen, wenn wir uns mit dem Client verbinden…
mv /etc/ssh/sshd_config /etc/ssh/sshd_config_orig nano /etc/ssh/sshd_config Port 44422 PubkeyAuthentication yes PasswordAuthentication no ChallengeResponseAuthentication no PermitRootLogin prohibit-password UsePAM yes X11Forwarding yes PrintMotd yes AcceptEnv LANG LC_* Subsystem sftp /usr/lib/openssh/sftp-server
Jetzt starten wir den SSH-Server neu:
systemctl restart ssh
Wichtig!
Wir *müssen* jetzt die SSH-Verbindung offen lassen und uns *zusätzlich* neu mit dem Schlüssel auf Port 44422 verbinden. Erst, wenn diese Verbindung steht, dürfen wir die alte zu machen. Sonst sperren wir uns im schlimmsten Fall selbst aus!
Wenn die Verbindung funktioniert, beenden wir die alte Sitzung mit „Strg+d“ oder wir schreiben „exit“ ins Terminal.