Borg Backup - SSH Login ohne passwort

Mr. Poe

Lt. Commander
Registriert
Juli 2010
Beiträge
1.892
Hi,

ich versuch grad meine backup lösung mit borg auf zu bauen, funktioniert manuell ganz gut, jetzt solls automatisiert werden.

borg nutzt ssh, jedesmal wenn ich
Code:
borg create borg@192.168.1.10:/pfad::$(date +\%Y\%m\%d)
aufrufe muss ich das passwort für den nutzer eingeben, wie kann ich das umgehen damit ich das beim shutdown oder per cron automatisiert ausführen kann?
zertifikate wollt ich jetzt eigentlich nicht einrichten und die muss man so wie ich das gelesen hab auch erst entsperren, richtig?
ich glaub die ~/.rhosts oder ~/shosts datei sollte genau das machen was ich suche, nur irgendwie funktioniert das nicht.

der nutzer borg existiert auf beiden systemen, bei meinem user muss ich das passwort bei ssh nicht eingeben, beim borg nutzer schon, wieso?
 
Anders als mit Public-Key-Verfahren (und einem Key ohne Passwort) wird es nicht gehen. Die Alternative wäre nämlich ansonsten ein komplett ungesicherter SSH-Login.

Einen entsprechenden SSH-Key einzurichten ist auch keine Raketenwissenschaft. Grundsätzlich generiert man erstmal mit ssh-keygen ein Schlüsselpaar aus privatem und öffentlichen Schlüssel. Mit ssh-copy-id schiebt man den öffentlichen Schlüssel anschließend auf den Server, auf dem der SSH-Dienst läuft. Dann noch die Konfig vom SSH-Dienst anpassen, den Dienst neustarten und fertig. Zum Anmelden per SSH verwendet man dann den sicher aufbewahrten privaten Schlüssel.

Der Artikel im Arch Linux Wiki ist da recht ausführlich und geht auch auf die verschiedenen kyrptographischen Verfahren und deren Sicherheit zur Schlüsselerzeugung ein. https://wiki.archlinux.org/title/SSH_keys
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: madmax2010, NJay, kartoffelpü und 2 andere
mibbio schrieb:
Dann noch die Konfig vom SSH-Dienst anpassen, den Dienst neustarten und fertig.
Braucht man nicht; wenn ein Key in der authorized_keys aufgeführt ist, passt das.

sshd-Config ändern und Neustart braucht man nur, wenn man Passwort-Login verbieten will (was auch sinnvoll, aber ein anderes Thema ist).
 
  • Gefällt mir
Reaktionen: madmax2010
GrumpyCat schrieb:
sshd-Config ändern und Neustart braucht man nur, wenn man Passwort-Login verbieten will
Und halt Key-Auth einschalten, falls das bisher in der Config deaktiviert sein sollte.
 
  • Gefällt mir
Reaktionen: madmax2010
hmmm, muss mir das dann wohl doch mal anschauen, hätt aber wenig lust das so einzurichten...
 
Woran scheitert es?
key generieren
~/.ssh/authoritzed_keys editieren und den public key eintragen
eine zeihle in der sshd config aendern um key auth zu erlauben (ggf noch root deaktivieren / wenigstens prohobit-password setzten)
sshd neu starten
 
madmax2010 schrieb:
~/.ssh/authoritzed_keys editieren und den public key eintragen
Das muss man noch nichtmal manuell machen, da ssh-copy-id das in einem Rutsch macht.

Im Endeffekt ist das Umstellen von SSH auf Key-Auth ne Sache von 2-3 Befehlen und in 5 Minuten erledigt.
 
  • Gefällt mir
Reaktionen: madmax2010
Ja, viele Wege führen nach Rom. ssh-copy-id definitiv einfacher als von Hand.

Wollte auch nur eine weitere stimme dahingehend geben: Just do it. Der Aufwand ist minimal. Der Komfortgewinn ist riesig
 
Wobei für auskommentierte Zeiten dann der Defaultwert greift und der wäre dann "yes". Deaktiviert wäre es nur, wenn die Zeile nicht auskommentiert und auf "no" gesetzt ist.

PubkeyAuthentication
Specifies whether public key authentication is allowed. The default is ''yes''. Note that this option applies to protocol version 2 only.
https://linux.die.net/man/5/sshd_config

Wenn es keine /etc/ssh/sshd_config gibt und die Distribution auch kein individuelles Preset für die Config mitliefert, generiert der SSH Deamon einfach eine Config auf Basis des Standard-Presets. Da sind dann die Einträge auf die Defaultwerte gesetzt und die meisten davon auch auskommentiert.
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: GrumpyCat und madmax2010
weiß nicht wieso ich so faul war aber das ging kurz und schmerzlos 😅

wenn ich als user "borg" den befehlt
Code:
ssh 192.168.1.10
ausühre geht alles ohne passwort.
wenn ich als mein benutzer
Code:
ssh borg@192.168.1.10
ausführe muss ich trotzdem das passwort eingeben, kann man das irgendwie abschalten?
 
Die 'authorized_keys' in den entsprechenden Userordner kopieren.
 
  • Gefällt mir
Reaktionen: mibbio und madmax2010
Oder halt einfach mit ssh-copy-id den Key auch für den Nutzer eintragen. Statt nur die IP (wo ja der aktuelle lokale Nutzername verwendet wird) gibt man bei dem Befehl halt den gewünschten Nutzer mit an.

Also statt
Bash:
ssh-copy-id ... 192.168.1.19
einach
Bash:
ssh-copy-id ... borg@192.168.1.19
 
  • Gefällt mir
Reaktionen: Capet
Zurück
Oben