Remote SSH Zugriff mit Root - Was mach ich falsch?

german

#1

Hallo,

ich habe mir eine VM angelegt mit Ubuntu 14.04. Auf dieser läuft als einzige Applikation “backuppc”. Diese soll nun auf meine DC zugreifen können und soll alle wichtigen Dateien sichern. Zunächst wollte ich nur die Dateien meines “Filesservers” (die Samba-Freigaben) sichern. Bekomme es aber nicht hin.

Ständig versucht der backuppc ein Kennwort zu erfragen um Verbindung mit dem DC aufzunehmen. Eigentlich sollte dies über die RSA Public-Keys verhindert werden.

Wie kann ich herausfinden, warum das ganze nicht passt? Wo kann eine passende Anleitung finde, wie ich mit dem root-Benutzer (der ja alle Dateien lesen kann) den Zugriff einrichten kann bzw. was der “normale” Weg ist, so was hin zu bekommen bei UCS

Vielen Dank für die Unterstützung schon mal
Michael


#2

Moin,

es gibt hier drei Aspekte, die primär zu prüfen sind:

[ol][li]Wird SSH für root überhaupt erlaubt?[/li]
[li]Sind die SSH-Keys richtig hinterlegt?[/li]
[li]Stimmen die Verzeichnis- und Dateirechte für die SSH-Verzeichnisse auf Quell- und Zielsystem?[/li][/ol]

Zu 1.: Das wird über die UCR-Variablen »auth/sshd/restrict« und dann »auth/sshd/user/root« gesteuert. Dies wird in der UCS-Dokumentation »Anmeldebeschränkungen für ausgewählte Benutzer« beschrieben.

Zu 2.: Sie müssen den öffentlichen Key des Quellusers vom Quellsystem in die Datei »~/.ssh/authorized_keys« des Zielusers auf dem Zielsystem einfügen. Konkreter. Ihr Quellsystem ist »backuppc«, der User dort z.B. »backup«. Das Zielsystem ist Ihr UCS-Server, und der Zieluser ist »root«. Was Sie also tun müssen:

[ul][li]Auf Server »backuppc« die Datei »~backup/.ssh/id_rsa.pub« ausgeben[/li]
[li]Ihren Inhalt (exakt eine Zeile! Keine Zeilenumbrüche!) auf dem UCS-Server an die Datei »/root/.ssh/authorized_keys« anhängen[/li][/ul]

Zu 3.: ssh ist sowohl client- als auch serverseitig sehr pingelig, was die Dateirechte betrifft. So darf das Verzeichnis »~username/.ssh« auf dem jeweiligen System ausschließlich für den Besitzer schreibbar sein. Weiterhin darf auf dem Client-System der private Teil des Schlüssels ausschließlich für den Besitzer lesbar sein. Auf dem Zielsystem wiederum darf die »authorized_keys« nur für den Besitzer schreibbar sein.

Rechteprobleme auf dem Zielsystem finden sich normalerweise in »/var/log/auth.log« wieder; Rechteprobleme auf dem Client kommt man auf die Spur, wenn man mal manuell ssh mit Verbosity startet, also z.B. »ssh -v -v root@ucs-server«.

Gruß,
mosu


#3

Vielen Dank für die ausführliche Erklärung. Damit war es mir möglich, die Verbindung herzustellen.

Fehler war, das ich die id_rsa.pub Datei an die bestehende known_hosts angehängt habe und nicht an die authorized_keys

LG
Michael