ubuntuusers.de

Sync SSH = Remote-Synology <> Linux-Server

Status: Ungelöst | Ubuntu-Version: Ubuntu 18.04 (Bionic Beaver)
Antworten |

deylo

Anmeldungsdatum:
7. Dezember 2018

Beiträge: Zähle...

Hallo zusammen,

ich bin etwas am verzweifeln.

Ich habe auf meinen zwei kleinen Linux-Server ein Bash-Script zu laufen, mit dem ich Verzeichnisse per rsync zu meiner Remote-Synology Verzeichnisse backuppen möchte.

Für Server #1 habe ich es schon geschafft, für den zweiten, will es nicht klappen.

Es geht nicht ums Script, sondern um die automatische Authentifizierung via SSH-Zertifikat. Die greift einfach nicht, ich muss immmer manuell das Passwort eingeben.

Kurz zur Technik:

- Synology, zwei Benutzer (einer für Server #1, einer für Server #2)

- per Cronjob wird das Backup gestartet, jedoch komme ich manuell schon nicht von Server #2 auf die Synology (Benutzer #2) per SSH ohne Passwort

Nur zum Verständnis, vielleicht liegt hier auch schon der Fehler:

- Ich habe ssh-keygen als Benutzer auf Server #2 ausgeführt und den PublicKey in die /.ssh/authorized_keys kopiert vom Benutzer #2 der Synology, womit ich mich verbinden möchte.

Was mache ich falsch?

Ich bin mir sicher, Ihr könnt mir helfen ☺

Viele Grüße

deylo

Thomas_Do Team-Icon

Moderator
Avatar von Thomas_Do

Anmeldungsdatum:
24. November 2009

Beiträge: 8808

deylo schrieb:

- Ich habe ssh-keygen als Benutzer auf Server #2 ausgeführt und den PublicKey in die /.ssh/authorized_keys kopiert vom Benutzer #2 der Synology, womit ich mich verbinden möchte.

Ich bin mir nicht sicher, ob ich das oben richtig verstanden habe.

Der Benutzer, der per ssh Zugriff auf einen Rechner (Server) möchte, erzeugt die Schlüssel i.A. auf seinem Rechner (Client), weil der private Schlüssel auf jeden Fall geheim bleiben muss. Der öffentliche Schlüssel (public key) wird auf dem entfernten Rechner (Server) abgelegt. Das heißt, selbst wenn dieser Schlüssel gestohlen würde, könnte niemand damit etwas anfangen, weil ja der private Schlüssel dazu gut geschützt aufbewart wurde.

Ein Passwort brauchst Du dann nur noch für den Fall, dass der private Schlüssel auf dem Client verschlüsselt wurde (aus Sicherheitsgründen zu empfehlen).

deylo

(Themenstarter)

Anmeldungsdatum:
7. Dezember 2018

Beiträge: 2

Danke @Thomas_Do

Das schließt einen Denkfehler schonmal aus. So bin ich vorgegangen. Ein Passwort für den Schlüssel habe ich bewusst weggelassen, da sich der eine Server ja ohne Passwort zum anderen Server verbinden soll.

Da die Verbindung allerdings nicht ohne die Eingabe des Benutzer-Passwortes vom Server zustande kommt, muss irgendwo ein Fehler liegen.

Das Bash-Script wird auf dem (ich nenne es mal) Client-Server als Benutzer "userClient" ausgeführt. Die Verbindung erfolgt innerhalb des Bash-Scriptes via ssh mit dem Ziel-Server als Benutzer "userServer" auf dem Server, mit dem man sich verbinden möchte → userServer@ssh.zielserver.de

Nun muss vorher theoretisch ja nur der ssh-Key als userClient auf dem Client-Server erstellt werden und der PublicKey in das "Home-Verzeichnis/.ssh" des Ziel-Servers kopiert werden - richtig? Oder muss ich da als Root noch irgendeinen Key erstellen?

Gruß deylo

Thomas_Do Team-Icon

Moderator
Avatar von Thomas_Do

Anmeldungsdatum:
24. November 2009

Beiträge: 8808

Du musst natürlich ssh auf dem Zielserver so konfigurieren, dass die Authentifizierung mittels Schlüssel auch erlaubt ist:

$ cat /etc/ssh/sshd_config
[...]
PasswordAuthentication no # Vorsicht erst abstellen,wenn Pubkey läuft!
PubkeyAuthentication yes
[...]

Hast Du das gemacht? Kannst Du die konkrete Konfiguration hier posten?

Ansonsten stelle die Verbindung im Terminal einmal manuell (entsprechend der Skriptbefehle) her und poste die (Fehler-) Meldungen hier.

Antworten |