Nachdem ihr von eurem Serveranbieter die Logindaten erhalten habt, loggt ihr euch fürs erste mit „root“ und dem beigefügten Passwort auf eurem Server ein
ssh [email protected]
Anschließend solltet ihr, mittels
passwd root
das Passwort des root Benutzers ändern (Viele Anbieter schicken nämlich Passwörter im Plaintext via Email und wenn dieses abgegriffen wird, wäre das eher unvorteilhaft).
Anschließend wird ein „Nutzaccount“ angelegt:
Mithilfe adduser username legt ihr nun euren Wunschbenutzer mit den entsprechenden Daten an (wobei die abgefragten Daten nicht zwingend ausgefüllt werden müssen, sprich einfach leerlassen.Ich persönlich habe, zumindest auf privater Basis, dort noch nie etwas eingegeben und wenn war es random.) Gebt nun zweimal das neu zu vergebende Passwort für euren Benutzer ein.
Jetzt fügen wir unseren neuen User der Gruppe sudo hinzu, um den „sudo“ Befehl ausführen zu können.
adduser username sudo
Ab jetzt könnt ihr euch mittels ssh [email protected] auf eurem Server einloggen. Um wieder auf root zu switchen, gebt sudo -Es ein mit dem anschließenden Passwort für euren root Benutzer.
Mehr Sicherheit durch RSA-Keys:
3. RSA-Keypair erstellen
Auf unserem lokalen PC erstellen wir uns zunächst ein Schlüsselpaar, mit dem wir uns später auf dem Server anmelden werden, da wir den Passwortlogin abschalten werden.
cd ~/.ssh ssh-keygen -t rsa
Zunächst müsst ihr einen Dateinamen angeben – ich nehme mal gehaxelt_key als Beispiel – und ihr könnt nun noch ein extra Passwort angeben, müsst dies aber nicht. Nun muss der public-Teil des Schlüsselpaares noch auf den Server hochgeladen werden.
ssh-copy-id -i ~/.ssh/username_key.pub usernamet@host
Das Programm nimmt uns die Arbeit ab, den Pub-Key auszulesen, und dann in der Datei “authorized_keys” im Ordner “~/.ssh” auf dem Server einzufügen.
4. SSHD-Conf bearbeiten
Nun möchten wir folgende drei Sachen noch ändern:
- SSH-Port ändern
- Root-Login deaktivieren
- Passwortlogin dekativieren
- Pubkey-Login aktivieren
Dazu bearbeiten wir als root die folgende Datei
nano /etc/ssh/sshd_config
und ändern folgende Einträge:
Port 22
zu
Port xxxx #zufällige 4 stellige Portnummer welche man sich merken muss
dann
PermitRootLogin yes
zu
PermitRootLogin no
dann
RSAAuthentication yes PubkeyAuthentication yes #AuthorizedKeysFile %h/.ssh/authorized_keys
zu
RSAAuthentication yes PubkeyAuthentication yes AuthorizedKeysFile %h/.ssh/authorized_keys
dann
ChallengeResponseAuthentication yes
zu
ChallengeResponseAuthentication no
dann
PasswordAuthentication yes
zu
PasswordAuthentication no
dann
UsePAM yes
zu
UsePAM no
Jetzt muss nur noch der ssh-Dienst neugestartet werden.
reload ssh
5. Das Finale
Wenn nun alles funktioniert hat, so sollte man sich nun per Pubkey-Authentifizierung auf dem Server anmelden können. Der Passwortlogin bzw. die Portänderung wurde vorgenommen, um Brute-Force-Attacken bzw. Portscans zu verhindern bzw. zu erschweren.
Hilfreich kann es sein, die aktive Verbindung, in der man die Änderungen durchgeführt hat, offen zu lassen, um im Falle eines “Ausschlusses” die Änderungen rückgängig zu machen. Man öffnet nun also einen neuen Terminal ;)
Der Login erfolgt dan folgedermaßen:
ssh -p PORTNUMMER -i ~/.ssh/username_key gehaxelt@host
Ein Login als Root-User sollte nun nicht mehr möglich sein.