Sichere SSH-Verbindung mittels Key aufbauen

Solange ich mein eigenes Blog betreibe, lief dieses bei einem Webhoster. Dort bekommt man Speicherplatz und Datenbanken gestellt. Für den Einstieg ist das mehr als ausreichend aber irgendwann will man mehr, z.B. einen eigenen Jabber-Server oder eine eigene Meta-Suchmaschine betreiben etc.. Nun habe ich den Schritt gemacht und bin erstmal auf einen kleinen vServer umgezogen und ich habe das Gefühl, das war auch nur die Einstiegsdroge.
In unregelmäßigen Abständen werde ich das eine oder andere HowTo verfassen, um mal etwas zum Nachlesen zu haben und vielleicht auch für den einen oder anderen Hilfesuchenden.
Wenn man sich einen Server mietet, erhält man auf diesen zuerst Zugriff über eine Java-Konsole. Das will man nicht haben, man will SSH und das auch noch sicher. Also richtet man sich einen SSH-Zugang mit einem passwortgeschützten Key ein.

Als allererstes loggt man sich mit den Zugangsdaten als root ein und ändert mittels

:-$ passwd

das voreingestellte Paßwort.
Das Arbeiten auf der Konsole mittels root ist wenig empfehlenswert. Daher wird ein Nutzer angelegt. In diesem Fall heißt er Ferdinand.

:-$ adduser ferdinand

Nun wird noch das System aktualisiert und dann geht es an das Erstellen des Keys.

:-$ sudo apt-get update
:-$ sudo apt-get upgrade

Das Verzeichnis für den Key auf dem Server anlegen

:-$ mkdir ~/.ssh

Die Permissions für das Verzeichnis setzen

:-$ chmod 700 ~/.ssh

Jetzt basteln wir uns den Schlüssel auf dem lokalen Rechner

:-$ ssh-keygen -t rsa -b 4096

Bei der Aufforderung

:-$ Enter passphrase (empty for no passphrase):

unbedingt ein Passwort angeben, auch wenn man den Eintrag leer lassen kann. Ohne Passphrase würde ein potentieller Angreifer nur den Key benötigen. Mit Passphrase nützt ihm der Key alleine relativ wenig.
Wenn der Key erstellt ist, sehen wir nach, ob wirklich alles vorhanden ist:

:-$ ls .ssh

Wir benötigen einen Key und einen Public-Key. Beide sollten im Verzeichnis .ssh liegen.

id_rsa id_rsa.pub

Nun übertragen wir den Key auf den Server in das .ssh Verzeichnis von Ferdinand. Die IP muß natürlich die eures Servers sein. ;-)

:-$ ssh-copy-id -i .ssh/id_rsa.pub ferdinand@198.51.100.0

Zur Absicherung wird noch einmal das Passwort von Ferdinand abgefragt. Danach wird es ernst und wir überprüfen, ob ein Login mittels Key möglich ist:

:-$ ssh -i .ssh/id_rsa ferdinand@198.51.100.0

Wenn alles richtig funktioniert kommt nun die Abfrage für das Paßwort des Keys:

:-$ Enter passphrase for key '.ssh/id_rsa':

Danach sollte man sich auf der Konsole des Servers wiederfinden.
Wenn wir schon mal hier sind, dichten wir den Server noch ein wenig ab. Wir untersagen nun jegliche Loginversuche ohne Key.

:-$ sudo nano /etc/ssh/sshd_config

Hier suchen wir die Zeile

#PasswordAuthentication yes

und ändern diese in

#PasswordAuthentication no

Folgende Zeilen sollten ebenfalls überprüft und ggf. geändert werden:

RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile %h/.ssh/authorized_keys

Um die Einstellungen aktiv werden zu lassen, muß der SSH-Daemon neu gestartet werden:

:~$ /etc/init.d/ssh restart

Wer mag, kann noch einmal testen, ob alles wunschgemäß funktioniert:

:-$ ssh -i .ssh/id_rsa ferdinand@198.51.100.0

Nun kann man als weiteren Test aus dem Verzeichnis ~/.ssh die Keys an einen anderen Ort verschieben, sodaß dieses leer ist. Nun startet man einen Login ohne Key, welcher nach unseren Änderungen in der sshd_config fehlschlagen sollte.

:-$ ssh -i .ssh/id_rsa ferdinand@198.51.100.0
Warning: Identity file .ssh/id_rsa not accessible: No such file or directory.
Permission denied (publickey).

Nun die Keys wieder zurück kopieren und der Login sollte wieder funktionieren.
Um den Server noch etwas mehr abzudichten, untersagen wir jetzt SSH-Logins für den User root und wir ändern den SSH-Port.

:~$ sudo nano /etc/ssh/sshd_config

Hier suchen wir die Zeile

PermitRootLogin yes

und ändern diese in

PermitRootLogin no

Standardmäßig ist der Port 22 für SSH reserviert. Wir ändern diesen, um es Angreifern ein wenig schwerer zu machen. Dazu lassen wir uns alle Ports und Dienste auflisten und suchen uns einen freien, unbelegten und möglichst 4-stelligen Port:

:~$ more /etc/services

Danach tragen wir diesen ein:

:~$ nano /etc/ssh/sshd_config

Die Zeile für den Port findet man hier:

# What ports, IPs and protocols we listen for
Port 4321

Nun noch einmal den SSH-Daemon neu starten und dann sind wir fast fertig:

:~$ /etc/inti.d/ssh restart

Da wir ja alle faul und bequem sind, gestalten wir uns den SSH-Login ein wenig komfortabler. Auf dem lokalen Rechner richten wir uns eine Datei ein:

$HOME/.ssh/config

und befüllen diese:

Host servername <-- beliebigen Namen eintragen
HostName 198.51.100.0 <-- die Ip des Servers
Port 4321 <-- der geänderte SSH-Port
User ferdinand <-- der Username

Nun reicht ein simples

ssh servername

um sich auf dem Server anzumelden. Das waren die ersten, grundlegenden Schritte beim Einrichten des eigenen Servers. Hope that helps...

Herbst

Apfelbaum StraßenbahnEs gibt ja so Ecken, da mag man gar nicht meinen, sich in Berlin zu befinden. Hier zum Beispiel, in Französisch-Buchholz, sieht es mit den Apfelbäumen sogar richtig idyllisch aus.

Bitte festhalten!

Bitte festhalten!Ich kann mich gut erinnern, als ich klein war, klebte über den Fenstern in der Straßenbahn die Aufforderung “Bitte festhalten!”. Diese ist leider aus den Zügen der Berliner Straßenbahn verschwunden. Täglich erlebe ich Fahrgäste, die sich “cool” an eine Haltestange anlehnen. Die linke Hand verweilt in der Hosentasche, die Rechte bedient das Display.
Passiert irgendetwas im Verkehr, was mich veranlaßt eine Gefahrenbremsung durchzuführen, so werde ich das auch tun. In einem solchen Fall habe ich keine Zeit eine warnende Durchsage zu machen. Die Bremsung kommt für den Fahrgast plötzlich und unvorhersehbar. Auch ich hatte diese Fälle schon öfter und auch einen verletzten Fahrgast nach einer solchen Bremsung.
Um die Zahl dieser Unfälle zu reduzieren startete man wieder eine Kampagne namens “Sicherheit zum Greifen nah”.
Wir sind bemüht, Gefahrenbremsungen zu vermeiden aber es gibt Situationen, da sind sie leider unumgänglich und nichts ist ärgerlicher als ein verhinderter Unfall vor der Bahn und Verletzte in der selbigen. Haltet euch in Bus und Bahn fest!

Linie 84 – Endstelle Am Falkenberg

Eigentlich hatte ich noch zwei Fotos gemacht aber eines ist leider unbrauchbar, da ich ein paar Meter zu weit vom Standpunkt des Originalfotos entfernt war. Muß ich evtl. nochmal hin…
Dieses hier zeigt einen Zug der Linie 84 bei der Einfahrt in die ehemalige Gleisschleife Am Falkenberg. Im Vordergrund sieht man auch das Ausfahrgleis.
Das Originalfoto gibt es bei Wikimedia.
Linie 84 Am Falkenberg

Linie 84 – Altglienicke

Ich war mal ein wenig unterwegs und habe Orte aufgesucht, an welchen die Linie 84 nach Altglienicke einstmals verkehrte und habe dort Fotos gemacht. Da ich das, was Sergej Larenkov da so veranstaltet sehr interessant finde dachte ich mir, kann ich ja auch mal versuchen. Das Bild von damals gibt es bei Wikimedia. Dieses zeigt einen Zug der Linie 84 auf der Kreuzung Grünauer Straße / Köpenicker Straße in Fahrtrichtung Falkenberg. Beide Bilder in Gimp ein wenig bearbeitet und so sieht es dann aus. Gestern und Heute in einem Bild.
Berlin Linie 84

Letzte Kt4Dt der BVG im Ruhestand

Die letzte Traktion des Kt4Dt war am 04.07.14 zum letzten Mal im Dienste der BVG auf der M4 im regulären Einsatz. Für den Laien äußerlich kaum von einem Kt4D zu unterscheiden, war es doch der “Sound” beim Anfahren und Bremsen, der die Kt4Dt für jeden erkennbar machte. Ein Video von den letzten Runden inkl. des typischen Anfahr-/Bremsgeräusches gibt es hier.
Nun sind sie endgültig Geschichte und die Traktion 7057/7058, welche von Straßenbahnfreunden auf ihren letzten Runden mehrfach abgelichtet wurde, habe ich nun noch einmal in ihrem wohlverdienten Ruhestand “erwischt”.
Kt4Dt 7057 BVG

Der beruhigende Klang von explodierendem Kerosin – Heinz Helle

Klang von explodierendem KerosinDie Handlung ist schnell erzählt. Ein namenloser Philosophiestudent reist nach New York um dort einen Vortrag zu halten. Seine Freundin folgt ihm. Die Beziehung scheitert. Das ist grob umrissen die Handlung. Nicht gerade üppig. Und trotzdem macht dieses Buch Spaß. Richtig Spaß. Denn es sind die detailverliebten Denkanstöße, Beschreibungen und Beobachtungen des Alltäglichen und Zwischenmenschlichen die das Lesen zu einem großen Vergnügen machen. Der Protagonist läuft durch die Welt und zerlegt, ja, seziert die kleinsten Dinge des Lebens, und steht damit letztendlich sich selbst und seinem Glück im Weg.

Ich betrete ein Cafe. Ich bestelle, nicke, danke, es ist gut, zu funktionieren, eine Rolle zu haben im Sonnensystem, auch wenn sie nur darin besteht, einen Burger zu bestellen, zu essen, zu bezahlen und irgendwann wieder auszuscheiden. Als meine Gabel das letzte Stück blutiges Rindschleisch aufspießt, denke ich blutiges Rindfleisch. Dann denke ich an Augen und an ein Bolzenschußgerät, und ich frage mich, wieso ich nicht einfach denken kann” Das hat aber gut geschmeckt. Die Wörter in meinem Kopf existieren nicht, sage ich mir mit Wörtern in meinem Kopf.

Einen weiteren Eindruck aus diesem großartigen Buch vermittelt der Autor selbst, bei einer Videolesung der Zeit. Ich bin begeistert!

Heinz Helle, “Der beruhigende Klang von explodierendem Kerosin”, Suhrkamp, ISBN: 978-3-518-42398-1