Passwort-Authentifikation per SSH deaktivieren

Wenn man sich für seinen SSH Zugang nur noch mit einem entsprechenden Schlüsselpaar anmeldet, kann man die Authentifikation per Passwort deaktivieren. Dazu wird die „/etc/ssh/sshd_config“-Datei in einem Editor geöffnet:

nano /etc/ssh/sshd_config

Dort wird die Option:

# Change to no to disable tunnelled clear text passwords
#PasswordAuthentication yes

gesucht und in:

# Change to no to disable tunnelled clear text passwords
PasswordAuthentication no

geändert. Anschließend muss der SSH Server mittels:

service ssh restart

neugestartet werden. Damit ist die Anmeldung per Passwort nicht mehr möglich und der Server ein Stück sicherer.

SSH-Schlüssel mit falschen Zugriffsrechten

Wenn man beim Zugriff mittels SSH unter Mac OS X folgende Meldung bekommt:

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@         WARNING: UNPROTECTED PRIVATE KEY FILE!          @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions 0644 for '/Users/seeseekey/.ssh/id_rsa' are too open.

weißt das auf ein Problem mit den Zugriffsrechten hin. In diesem Fall sind die Rechte für den privaten Schlüssel zu großzügig vergeben. Dies kann unter anderem dann passieren wenn man ein Backup einspielt. Um dieses Problem zu beheben, gibt man im Terminal folgendes ein:

sudo chmod 600 ~/.ssh/id_rsa
sudo chmod 600 ~/.ssh/id_rsa.pub

Damit sind die Zugriffsrechte für diese Dateien restriktiv gesetzt, so das SSH an dieser Stelle wieder problemlos funktioniert.

Probleme mit Duplicity und paramiko

Wenn man das Backuptool Duplicity unter Ubuntu installiert, scheinen nicht alle Abhängigkeiten mitinstalliert zu werden. Das stellt man spätestens bei der ersten Benutzung fest:

BackendException: Could not initialize backend: No module named paramiko

Bei „paramiko“ handelt es sich um ein Python-Modul welches der Unterstützung des SSH2 Protokolls dient. Nachdem das ganze mittels:

apt-get install python-paramiko

nachinstalliert wurde, funktioniert auch Duplicity ohne weitere Probleme.

Backup per sshfs

Wenn man einen Server betreibt ist ein Backup sehr praktisch. Viele Hoster bietet mittlerweile Backupspeicher an, auf welchen man seine Daten sichern kann. In diesem Artikel wird dabei davon ausgegangen das sich auf dem Server größere Imagedateien befinden, welche inkrementell gesichert werden sollen. Im ersten Schritt wird der Backupspeicher eingebunden. Viele Server lassen sich dabei mit SFTP ansprechen. Um dieses einzubinden muss das passende Paket installiert werden:

apt-get install sshfs

Danach erstellen wir einen Mountpunkt:

mkdir /mnt/backup

Anschließend kann das entfernte Dateisystem eingebunden werden:

sshfs :/ /mnt/backup

Für das Backup wird „rdiff-backup“ genutzt, welches über die Paketverwaltung installiert werden kann:

apt-get install rdiff-backup

Problematisch an „rdiff-backup“ ist die Tatsache, das dieses unter anderem mit Hardlinks arbeitet und diese bei SFTP unter Umständen nicht zur Verfügung stehen. Deshalb muss im ersten Schritt ein Image erzeugt werden und dieses eingebunden werden. Mittels:

rdiff-backup /etc/ /mnt/backup/etc/

kann dann anschließend das Backup angelegt werden. Möchte man ermitteln welche Backupversionen sich im Verzeichnis befinden, so kann dies durch

rdiff-backup -l /mnt/backup/etc/

bewerkstelligt werden. Damit man das ganze nicht immer per Hand erledigen muss (was bei Backups nicht ratsam wäre), habe ich das ganze in ein Skript gegossen welches auf GitHub zu finden ist.

Weitere Informationen gibt es unter:
http://wiki.ubuntuusers.de/FUSE/sshfs
http://www.nongnu.org/rdiff-backup/
http://www.thomas-krenn.com/de/wiki/Backup_unter_Linux_mit_rdiff-backup