SSH
Aus FAQ-vServer
Inhaltsverzeichnis |
Secure-SHell
Einst war das Internet noch nicht so gefährlich wie heute und ebenso wurden Informationen nicht so arglos auf Servern verstreut. Früher verwendete man Telnet um sich mit einem entfernten Computer zu verbinden.
Letztlich ist SSH nichts anderes als ein Telnet um sich textbasiert auf dem entfernten Computer einzuloggen...
... mit dem feinen Unterschied, das Telnet im Klartext (also mitlesbar!) und SSH verschlüsselt arbeitet.
Dir steht das SSH zur Verfügung, um die von wo auch immer mit Deinem VPS zu verbinden. Wir wollen Dir hier erklären, wie das funktioniert und ein paar Tipps zur Benutzung von SSH geben.
SSHD-CONFIG
Die Konfigurationsdatei zum SSH-Daemon ist zu finden unter:
/etc/ssh/sshd_config
Einige Einstellungen wurden von uns bereits geändert:
Port 10022
Der Standardport für SSH ist normalerweise 22. Doch das wissen alle Guten und Bösen Buben im Internet.
In Deinem Logfile würdest Du recht schnell bemerken, das sich andauernd "irgendwer" versucht, auf Port 22 mit SSH zu verbinden.
In aller Regel ist dieser "irgendwer" nur ein Skript, welches versucht schwache Passwörter zu erraten (siehe Bruteforce). Nervig an der Sache ist eben, das Dein wertvolles LogFile damit ugs. zugemüllt wird und Dich daran hindert, "wichtigeres" zu erkennen.
Um diesem Umstand Rechnung zu tragen haben wir ihn erstmal auf den
Port 10022
"umgebogen".
Du solltes später Deinen eigenen Port verwenden, der weder 10022 noch 22 ist. Hinweise zur Verwendung eigener Ports fondest Du unter Standardports.
ListenAddress
Normalerweise stünde dem nichts entgegen, hier nichts stehen zu haben. Jedoch ist der vServer nur ein kleiner Teil eines größeren Ganzen. Der Wirt auf dem Dein vServer läuft ist die Umgebung und verfügt ebenfalls über eine IP-Adresse. Wenn das Feld
ListenAddress Deine_IP
leer sein würde, könntest Du Dich nicht mit Deinem vServer verbinden, da jeder andere SSH-Daemon auf dem Wirt sich melden würde und Dein Programm (unter Linux ssh, unter Windows PuTTY) keine Verbindung aufbauen könnte.
Also bitte nicht ändern.
Protocol
In einigen SSH-Konfigurationen findest Du:
Protocol 1,2
was nicht wirklich eine gute Idee ist. Die 1 ist das alte Ssh-Protokoll, welches einen üblen Fehler hatte und einen root-Login ohne Passwort ermöglichen konnte.
Die 2 bedeutet, das das Ssh-Protokoll der verbesserten und gefixten Version 2 verwendet wird.
Protocol 2
Also die 1 an der Stelle raus (wenn es noch nicht geschehen sein sollte) ;)
PermitRootLogin no
Normalerweise ist es nicht notwendig, sich als root von außen einloggen zu müssen. Du solltest deswegen folgende Schritte unternehmen:
- ) lege Dir ein normales Benutzerkonto an
- ) verwende den Befehl su
- ) schalte das rootlogin aus
Also solltest Du die Einstellung
PermitRootLogin yes
in
PermitRootLogin no
ändern. Und das auch sehr bald!
SSH-PUBLIC-KEY
Eine weitere Möglichkeit, Deinen Zugang sicherer zu machen wäre das arbeiten mit SSH-Public-Keys. Dazu müssten die Zeilen:
RSAAuthentication yes PubkeyAuthentication yes AuthorizedKeysFile %h/.ssh/authorized_keys
ohne führendes # eingetragen werden.
Wie Du das SSH-Public-Key Verfahren anwendest zeigen wir dir auf dieser Seite.
scp vs. sftp-server
Eigentlich brauchst Du dieses Werkzeug nicht. Heute verwenden die meisten Benutzer das scp, was es natürlich auch für Windiws gibt (WinSCP).
Also kannst Du die Zeile
#Subsystem sftp /usr/lib/sftp-server
auskommentieren.
UsePAM
Wenn Du später mit SSH-Public-Key arbeitest, was durchaus seine Vorzüge hat, könntest Du generell das einloggen mit Benutzername/Passwort abschalten. Dies wäre schon eine sehr sichere Verwendung von SSH. Gewarnt seist Du dazu aber trotzdem: Du musst immer Deinen privaten SSH-Schlüssel zur Verfügung haben, sonst kommst Du in Dein System nicht mehr rein.
UsePAM yes|no
SSH-Daemon neu starten!
Nachdem Du Deine Änderungen durchgeführt hast, musst Du den SSH-Daemon neu starten um die Änderungen auch wirksam zu machen:
/etc/init.d/ssh restart
oder
/etc/init.d/sshd restart
oder
service ssh restart
...je nach dem mit welcher Linux-Distribution Du gerade arbeitest.
Benutzung von SSH
Von Linux aus verwendest Du einfach folgende Zeile:
ssh username@deine_ip -p 10022
wenn der Port auf 10022 umgebogen ist, oder
ssh username@deine.domain.tld -p 30022
wenn der Port auf 30022 umgebogen ist.
Unter Windows empfehlen wir das Programm PuTTY

