Server Administration

SSH-Keys für mehrere Linux Maschinen erzeugen

Ich möchte ganz gerne die SSH-Authentifizierung auf die Verwendung von SSH-Keys umstellen. Ich möchte diese SSH-Keys auf verschiedenen Linux Ubuntu Servern zum Einsatz bringen. Wie kann ich da vorgehen?

Bild des Benutzers codenovae

SSH-Keys erzeugen und installieren

Answer to the question: 
1883
Vote the answer: 
5
Average: 5 (1 vote)

SSH steht für Secure Shell und bezeichnet sowohl ein Netzwerkprotokoll als auch spezielle Programme, mit deren Hilfe man eine sichere und verschlüsselte Verbindung zwischen entfernten Systemen aufbauen kann. Die Verschlüsselung der Daten zwischen den Systemen ist mit 128-bit ausreichend komplex, um unbefugte Mitleser abzuwehren. Die bekanntesten Programme, die das SSH- Netzwerkprotokoll zur sicheren Übertragung von Daten verwenden sind wohl WinSCP und PuTTy. Diese Programme sind bei Server Administratoren häufig im Einsatz.

 

Bei der Public-Key-Authentification wird mittels SSH-Keygen oder häufig auch mittels PuTTygen ein Schlüsselpaar aus einem öffentlichen Schlüssel (public key) und einen privaten Schlüssel (private key) erzeugt. Der public key wird dabei im root-Verzeichnis des Servers unter ~/.ssh/authorized_keys abgelegt. Der private Schlüssel wird verschlüsselt und per Passwort oder Passphrase (Passwort aus mehreren Wörtern) auf den lokalen Rechner hinterlegt. Die Authentifizierung per SSH-Key in der Kombination mit einem Passwort bietet etliche Vorteile gegenüber einer einfachen Authentifikation mittels Passwort-Abfrage. Ein Passwort kann z.B. mit speziellen Keylogger-Programmen abgefangen werden. Dazu muss nur eines der miteinander verbundenen Systeme kompromittiert worden sein. Es gibt Malware, die ein Keylogger auf den PC installiert, um die Tastatur-Eingaben über das Internet an den Angreifer zu übermitteln. Der kann dann genau sehen mit welchen Passwörtern man sich bei verschiedenen Servern oder Services angemeldet hat. Des Weiteren weiß jeder erfahrene Webmaster, dass Brute Force Attacken permanent auf jeden standardgemäß aufgesetztem Server einhämmern. Dabei versucht ein Programm per rasend schnell wechselnden Benutzername / Passwort-Kombinationen die richtigen Anmeldedaten herauszufinden. Abhilfe schafft dort fail2ban. Damit lassen sich solche Attacken recht erfolgreich abwehren. Ein weiterer nicht zu unterschätzender Aspekt ist, dass das Passwort in einer Datei auf dem Server entweder als Klarname oder als Hash-Wert gespeichert ist. Gelangt ein Angreifer an diese Datei so kann er sich sofort am System per SSH anmelden. Selbst wenn der Angreifer nur in den Besitz des Hash-Wertes gelangt, so gibt es spezielle Software, die Zeichenkombinationen findet, die exakt dem Hash-Wert entsprechen. Meist verwenden Webmaster dasselbe Passwort für mehrere Maschinen und Services. In diesem Fall wären gleich mehrere Systeme und Services kompromittiert. Die Katastrophe wäre perfekt. Die Anmeldung per Passwort-Abfrage ist wesentlich unsicherer als die Verwendung von SSH-Keys in Kombination mit einem Passwort. In diesem Fall muss der Angreifer zum einen das Passwort kennen und zum anderen im Besitz des SSH-Keys sein. Speichert man zudem den SSH-Key auf einer verschlüsselten externen Festplatte (z.B.mit TrueCrypt), so kann dieser Schlüssel auch nur sehr schwer gestohlen werden. Die Gefahr, dass ein Angreifer in diesem Fall in den Besitz des SSH-Keys und des Passworts gelangt tendiert gegen Null.

Im weiteren Verlauf möchte ich zwei Methoden vorstellen, wie man ein Schlüsselpaar generieren kann.

1. SSH-Keyfile Pair mit PuTTYgen erzeugen:

Das Erzeugen eines PuTTY-SSH-Keys ist einfach. Bei Installation von PuTTy oder WinSCP unter Windows wird auch das Tool PuTTygen mit installiert. Dieses findet man, wenn man unter Windows das Startmenu öffnet und unter Programme den Eintrag PuTTy expandiert. Dort findet man auch das Tool PuTTygen. Ein Klick darauf öffnet das Programm.

PuTTygen Schlüsselpaar erzeugen

Dort kann man die Art der Signatur und die Bitlänge der zu erstellenden Schlüssel eingeben. RSA ist dabei standartgemäß angewählt. Diese Methode weist die höchste Kompatibilität auf. Bei RSA sollte die Bitlänge etwas größer eingestellt werden, damit die Sicherheit ausreichend hoch ist. Als Beispiel enthält der Algorithmus ECDSA sogenannte NIST Kurven. Was auch immer das genau sein mag, aber Kritiker befürchten, dass dort eine Hintertür für die NSA eingebaut sein könnte. Danach klickt man einfach auf "Generate" um den Schlüssel zu erzeugen. Durch Mausbewegungen hilft man den Algorithmus bei der Berechnung der Signatur auf die Sprünge.

PuTTygen Mausbewegungen

Im nächsten Schritt muss man noch ein Passwort oder eine Passphrase (Passwort aus mehreren Wörtern) eingeben.

PuTTygen Passwort festlegen

Sobald man das Passwort oder die Passphrase eingegeben hat, kann man den public key und den private key speichern. Dazu klickt man einfach auf "Save public key" oder auf "Save private key". Im obigen Fenster sieht man den Schlüssel in Klartext. Diesen Schlüssel muss man einfach kopieren und in ~.ssh/authorized_keys einfügen. Dazu öffnet man einfach den File authorized_keys mit einem beliebigen Texteditor wie MS Word oder WordPad.

 

Wenn man sich nun per SSH am Server anmelden möchte, so lädt man im SSH Programm einfach den privaten Schlüssel hoch und gibt das Passwort ein. Bei PuTTy sieht das folgendermaßen aus:

public key authentifikation with PuTTy

Um den öffentlichen Schlüssel auf mehreren Maschinen zu verwenden kopiert man den gleichen Textinhalt wie oben beschrieben einfach auf jeden Server in ~.ssh/authorized_keys. Die Anmeldung erfolgt dann immer mit privatem Schlüssel und dem Passwort oder der Passphrase.

 

Gewerblicher Benutzer: 
Nein

Gibt es ein SSH Programm, was SSH Sitzung bei ausgeschalteten PC fortführt?

Ich verwende die SSH Clients Putty und WinSCP, um meine Server zu managen. Leider ist es häufig so, das ich gerne Aufgaben im Hintergrund bei ausgeschlteten PC fortführn möchte. Bei Putty und inSCP werden die SSH Sitzungen leider getrennt, sobald ich den PC ausschalte. Gibt es dafür eine Lösung?

Bild des Benutzers AndreasOS

screen

Answer to the question: 
1873
Vote the answer: 
0
No votes yet

Mit screen kannst du mehrere Sitzungen gleichzeitig ausführen. Die Installation von screen ist sehr einfach:

 

apt-get update

apt-get upgrade

apt-get install screen

Mit screen kannst du dann mehrere neue Sitzungen öffnen. Das geht ganz leicht mit:

screen -S sitzung1

mit

screen -ls

kann man die aktuellen Sitzungen sehen

Wenn man nun möchte, dass eine SSH-Sitzung nach Beendigung weiterläuft, dann geht das indem man:

Strg a d

eingibt. Um sich zu vergewissern, ob die Sitzungen wirklich noch laufen, kann man den Befehl:

screen -ls

ausführen

Gewerblicher Benutzer: 
Nein

Einstellungen gesichert VirtalBox Linux Ubuntu

Ich kann die Einstellungen einer Server Installation auf einer virtuellen Maschine mittels VirtualBox nicht ändern. Die Einstellungen sich gesichert. Zumindestens steht das dort. Kann ich die Eintragungen nicht nachträglich vornehmen?

Bild des Benutzers ronaldo

VM beenden

Answer to the question: 
1862
Vote the answer: 
0
No votes yet

Einige Einstellungen lassen sich nur dann ändern, wenn die virtuelle Maschine gestoppt ist. Ist die virtuelle Maschine im Betrieb, so kann es sein, dass einige dieser Einstellungen gesichert sind. Das erkennst du dann an der Fehlermeldung "Einstellungen gesichert". Beende einfach die virtuellen Maschine, dann sollte es wieder möglich sein die Einstellungen zu ändern.

Gewerblicher Benutzer: 
Nein

Schritt für Schritt Linux Ubuntu Festplatten Backup mit Mondo Rescue machen

Ich möchte gerne mein kompletten Linux Ubuntu Server mit Mondo Rescue sichern. Ich habe mich mit dem Thema ausgiebig beschäftigt und denke dass Mondo Rescue ein geeignetes Tool für diesen Zweck ist. Speziell die Möglichkeit Backups im laufenden Betrieb eines Servers machen zu können, ist eine sehr wichtige Eigenschaft von Mondo Rescue. Nun suche ich nach einer guten Schritt für Schritt Anleitung für ein komplettes System Backup.

Bild des Benutzers Codemaster

Ich befürchte, dass Mondo Rescue nicht supported wird

Answer to the question: 
1859
Vote the answer: 
0
No votes yet

Ich befürchte, dass Mondo Rescue nicht mehr richtig supported wird und daher manche Versionen nicht mehr verfügbar sind. Mondo Rescue war einst eines der besten Programme für ein komplettes Systembackup. Ich persönlich habe das Programm früher auch verwendet. Heute habe ich es auf verschiedenen Linux Distributionen versucht zum Laufen zu bekommen. Das Problem dabei ist, dass die Installation aufgrund von nicht vorhandenen Links etc. nicht so einfach ist. Ich denke da ist sehr viel Suchkram mit verbunden. Die gängigen Installationsanleitungen im Internet funktionieren nicht, da entweder Links veraltet sind oder aus anderen Gründen nicht mehr funktionieren. Daher würde ich perönlich von Mondo Rescue abraten.

Gewerblicher Benutzer: 
Nein

Domainänderung in Plesk zeigt keinerlei Wirkung

Ich will den Domainnamen für eine Domain, die ich unter Plesk verwalte ändern. Dazu habe ich in den Hosting Einstellungen bei Plesk einfach den Domainnamen geändert. Natürlich habe ich auch die DNS Einträge der Domain geändert und per Ping überprüft. Die Domain wird korrekt aufgelöst und zu der richtigen Server IP weitergeleitet. Ich habe auch schon ca. 30 Minuten gewartet. Normalerweise sollte nun die Webseite angezeigt werden. Ich sehe dort dann allerdings nur eine Standart Seite von Plesk und nicht die Webseite. Woran kann das liegen?

Bild des Benutzers codenovae

Manchmal dauert es ewig

Answer to the question: 
1829
Vote the answer: 
0
No votes yet

Es kann sein, dass die DNS Einstellungen noch nicht komplett propagiert wurden. Manchmal dauert das wirklich lange. Ein Serverping kann da durchaus unterschiedliche Informationen liefern, da es mehrere große DNS Server gibt auf denen diese Informationen propagiert werden müssen. Deshalb kann es unter Umständen etwas länger dauern. Zudem werden die DNS Informationen meist auf den DNS Servern gecachet. D.h. eine Kopie der Informationen wird in den Ram ausgelagert. Dadurch kann es passieren, dass bereits veraltet DNS Datensätze ausgeliefert werden. 

 

Alternativ kannst du in den Einstellungen deines Domain Providers eine TTL-Zeit (Time-To-Live) für die Domain ändern und verkürzen. Die TTL gibt die Zeit an, wie lange ein Server die DNS-Einstellungen einer Domain im Cache zwischenspeichern kann. Durch eine kurze TTL kann also die Zeit verkürzt werden, bis DNS Änderungen wirklich auch stattfinden. Nun könnte man auf die Idee kommen diese TTL-Zeit generell sehr kurz einzustellen. Davon sei aber abgeraten, da dadurch evtl. die Geschwindigkeit des Webseiten Abrufs verlängert wird. Die DNS Informationen werden gecachet vom Ram letztendlich wesentlich schneller ausgegeben.

Gewerblicher Benutzer: 
Nein