rsync datei gehört root

Einrichten des lokalen Netzes, Verbindung zu anderen Computern und Diensten.
michaa7
Beiträge: 4633
Registriert: 12.12.2004 00:46:49
Lizenz eigener Beiträge: MIT Lizenz

rsync datei gehört root

Beitrag von michaa7 » 07.12.2023 17:57:13

Sehe ich das richtig?

Wenn ich root login in ssh verboten habe, dann kann ich keine Datei, die root gehört per rsync von Rechner A nach Rechner B kopieren, unter Beibehaltung aller Dateirechte?

Wie dann?
gruß

michaa7

-------------------------------
Menschen ändern gelegentlich ihre Ansichten, aber nur selten ihre Motive. (Oskar Negt)

Benutzeravatar
cosinus
Beiträge: 3441
Registriert: 08.02.2016 13:44:11
Lizenz eigener Beiträge: GNU General Public License
Wohnort: Bremen

Re: rsync datei gehört root

Beitrag von cosinus » 07.12.2023 18:11:53

Äh, das ist dann aber ungünstig. Der User muss dann zumindest Leserechte auf die Datei haben und muss das Verzeichnis auch betreten können dürfen.

michaa7
Beiträge: 4633
Registriert: 12.12.2004 00:46:49
Lizenz eigener Beiträge: MIT Lizenz

Re: rsync datei gehört root

Beitrag von michaa7 » 07.12.2023 18:25:25

Angenommen ich wollte per rsync eine installation transferieren, dann wird es da Dateien geben die nur root lesen und/oder nur root schreiben darf ....
gruß

michaa7

-------------------------------
Menschen ändern gelegentlich ihre Ansichten, aber nur selten ihre Motive. (Oskar Negt)

Benutzeravatar
cosinus
Beiträge: 3441
Registriert: 08.02.2016 13:44:11
Lizenz eigener Beiträge: GNU General Public License
Wohnort: Bremen

Re: rsync datei gehört root

Beitrag von cosinus » 07.12.2023 18:34:00

Nee, das geht dann nicht. Da musst du dann schon root sein.
Ist das ein Server, der im Internet steht? Wenn nicht, kannst du PermitRootLogin ruhig auf yes setzen. Oder du kloppst auf dem Server in der Datei /root/.ssh/authorized_keys den Key von deinem User deines Clients ein. Geht auch per ssh-copy-id:

Code: Alles auswählen

ssh-copy-id root@neuertower
Dazu müsste dann aber zumindest temporär root Login möglich sein. Oder du machst es mit

Code: Alles auswählen

ssh-copy-id loginuser@neuertower
und kopierst denn den Inhalt von /home/loginuser/.ssh/authorized_keys nach /root/.ssh/authorized_keys

Auf keinen Fall darf dann aber in der sshd_config PermitRootLogin auf no stehen. Also ändere es nach der "Schlüsselübergabe" dann auf without-password.

michaa7
Beiträge: 4633
Registriert: 12.12.2004 00:46:49
Lizenz eigener Beiträge: MIT Lizenz

Re: rsync datei gehört root

Beitrag von michaa7 » 07.12.2023 21:46:54

cosinus hat geschrieben: ↑ zum Beitrag ↑
07.12.2023 18:34:00
...
Ist das ein Server, der im Internet steht?
nein, das ist alles im LAN.
Wenn ich in der sshd_config für ListenAddress die LAN IP eingebe, dann ist doch ein direkter root login, so ich ihn ermögliche, zusätzlich auf Rechner aus dem LAN beschränkt, richtig? Und rsync basier beim login auf den settings in sshd_config, richtig?
gruß

michaa7

-------------------------------
Menschen ändern gelegentlich ihre Ansichten, aber nur selten ihre Motive. (Oskar Negt)

Benutzeravatar
cosinus
Beiträge: 3441
Registriert: 08.02.2016 13:44:11
Lizenz eigener Beiträge: GNU General Public License
Wohnort: Bremen

Re: rsync datei gehört root

Beitrag von cosinus » 07.12.2023 22:02:19

Login mit root geht nur, wenn PermitRootLogin auf yes oder without-password steht bzw. prohibit-password.
Wenn das Ding nur aus dem internen LAN erreichbar ist, setze es einfach auf yes. Du hast doch niemanden, der in deinem internen LAN ist und das Teil angreifen will?

michaa7
Beiträge: 4633
Registriert: 12.12.2004 00:46:49
Lizenz eigener Beiträge: MIT Lizenz

Re: rsync datei gehört root

Beitrag von michaa7 » 07.12.2023 22:52:47

cosinus hat geschrieben: ↑ zum Beitrag ↑
07.12.2023 22:02:19
Login mit root geht nur, wenn PermitRootLogin auf yes oder without-password steht bzw. prohibit-password....
Und wie findet dann die Authentifizierung statt? Wenn da ein Schlüssel benötigt wird, wo kommt der her? Braucht man dann nicht einen gpg schlüssel o.ä?
gruß

michaa7

-------------------------------
Menschen ändern gelegentlich ihre Ansichten, aber nur selten ihre Motive. (Oskar Negt)

Benutzeravatar
cosinus
Beiträge: 3441
Registriert: 08.02.2016 13:44:11
Lizenz eigener Beiträge: GNU General Public License
Wohnort: Bremen

Re: rsync datei gehört root

Beitrag von cosinus » 07.12.2023 23:06:24

Achso, ja. Das hab ich in der Aufregung vergessen. Den musst du dir mit ssh-keygen vorher erstellen. Fallsnicht vorhanden, leg dir noch vorsichtshalber das Verzeichnis .ssh in deinem $HOME an:

Code: Alles auswählen

mkdir ~/.ssh
ssh-keygen -t rsa
Normalerweise wird der private Schlüssel dann als id_rsa gespeichert und der öffentliche in id_rsa.pub, so wie hier in meinem Beispiel:

Code: Alles auswählen

toor@fuckup:~/.ssh$ ls -la
insgesamt 16
drwxr-x---  2 toor toor 4096  7. Dez 23:03 .
drwx------ 15 toor toor 4096  7. Dez 23:03 ..
-rw-------  1 toor toor 2590  7. Dez 23:03 id_rsa
-rw-r-----  1 toor toor  565  7. Dez 23:03 id_rsa.pub

michaa7
Beiträge: 4633
Registriert: 12.12.2004 00:46:49
Lizenz eigener Beiträge: MIT Lizenz

Re: rsync datei gehört root

Beitrag von michaa7 » 07.12.2023 23:26:45

cosinus hat geschrieben: ↑ zum Beitrag ↑
07.12.2023 23:06:24
...
ssh-keygen -t rsa
...
Ist das egal in welchem Verzeichnis ich mich dabei befinde? Kommt mir komisch vor ...

Und will will ja einen Schlüssel für root, also kommt der nach /root/.ssh

Und muss der pub schlüssel dann nicht auf den Rechner von dem aus ich mich verbinden möchte? Das wäre dann aber henne und ei ... oder ?
gruß

michaa7

-------------------------------
Menschen ändern gelegentlich ihre Ansichten, aber nur selten ihre Motive. (Oskar Negt)

Benutzeravatar
cosinus
Beiträge: 3441
Registriert: 08.02.2016 13:44:11
Lizenz eigener Beiträge: GNU General Public License
Wohnort: Bremen

Re: rsync datei gehört root

Beitrag von cosinus » 08.12.2023 00:01:35

Nein nein, das ist das Schlüsselpaar für deinen User auf dem Client. Das muss schon nach ~/.ssh
Wenn du dann dich mit einem entfernten PC als verbinden willst, dann muss das was in id_rsa.pub steht auf dem entfernten PC nach /root/.ssh/authorized_keys. In authorized_keys steht also eine Liste der öffentlichen Schlüssel, die berechtigt sind. Und wie gesagt, ssh-copy-id nimmt das für dich ab.

michaa7
Beiträge: 4633
Registriert: 12.12.2004 00:46:49
Lizenz eigener Beiträge: MIT Lizenz

Re: rsync datei gehört root

Beitrag von michaa7 » 08.12.2023 00:07:08

cosinus hat geschrieben: ↑ zum Beitrag ↑
08.12.2023 00:01:35
Nein nein, das ist das Schlüsselpaar für deinen User auf dem Client. Das muss schon nach ~/.ssh
Wenn du dann dich mit einem entfernten PC als verbinden willst, dann muss das was in id_rsa.pub steht auf dem entfernten PC nach /root/.ssh/authorized_keys. In authorized_keys steht also eine Liste der öffentlichen Schlüssel, die berechtigt sind. Und wie gesagt, ssh-copy-id nimmt das für dich ab.
OMG, ich verstehe es nicht..., aber vielleicht reden wir aneinander vorbei.

*ich* rede nur vom root login, nicht vom user login. Ich will in jedem Fall eine Trennung zwischen user und root (so wie ich z.b. auch kein sudo nutze!)

Mir scheint aber du beschreibst da irgendein user-als-root scenario, oder sehe ich das falsch? Oder gar ein reines user login via key.
gruß

michaa7

-------------------------------
Menschen ändern gelegentlich ihre Ansichten, aber nur selten ihre Motive. (Oskar Negt)

Benutzeravatar
cosinus
Beiträge: 3441
Registriert: 08.02.2016 13:44:11
Lizenz eigener Beiträge: GNU General Public License
Wohnort: Bremen

Re: rsync datei gehört root

Beitrag von cosinus » 08.12.2023 00:11:29

Du willst dich von deinem Rechner, sagen wir dein User heißt michaa, als root auf dem entfernten Rechner einloggen oder nicht?
Dann tippst du das ein:

Code: Alles auswählen

ssh root@neuertower
Wenn vorher der öffentliche Schlüssel von "micha" auf dem entfernten Rechner in /root/.ssh/authorized_keys drinsteht, dann bist du nach Ausführen des Befehls sofort per SSH als root drauf. Ok, vllt musst du noch ne Passphrase für deinen privaten key eingeben, aber das ist nur optional. Mit User als root also sowas wie sudo hat das nichts zu tun.

Wenn das erstmal zuviel ist mach dich erstmal so mit ssh vertraut ohne das Key-Gedöns. :)

michaa7
Beiträge: 4633
Registriert: 12.12.2004 00:46:49
Lizenz eigener Beiträge: MIT Lizenz

Re: rsync datei gehört root

Beitrag von michaa7 » 08.12.2023 00:19:30

cosinus hat geschrieben: ↑ zum Beitrag ↑
08.12.2023 00:11:29
Du willst dich von deinem Rechner, sagen wir dein User heißt michaa, als root auf dem entfernten Rechner einloggen oder nicht?
Dann tippst du das ein:

Code: Alles auswählen

ssh root@neuertower
Wenn vorher der öffentliche Schlüssel von "micha" auf dem entfernten Rechner in /root/.ssh/authorized_keys drinsteht, dann bist du nach Ausführen des Befehls sofort per SSH als root drauf. Ok, vllt musst du noch ne Passphrase für deinen privaten key eingeben, aber das ist nur optional. Mit User als root also sowas wie sudo hat das nichts zu tun.

Wenn das erstmal zuviel ist mach dich erstmal so mit ssh vertraut ohne das Key-Gedöns. :)
ssh nutze ich seit fast zwei jahrzehnten ....aber halt mit PW UND mir geht es ja weniger um ssh sondern um rsync.

Was mir im Moment nicht klar ist ist ob deine Vorgehensweise ein Trick ist oder die einzige vorgehnsweise sich als root einzugoggen. Denn das gibt ja einem user rootrechte auf einem fremden rechner. Deshalb empfinde ich das nicht als sauber getrennt.
gruß

michaa7

-------------------------------
Menschen ändern gelegentlich ihre Ansichten, aber nur selten ihre Motive. (Oskar Negt)

Benutzeravatar
cosinus
Beiträge: 3441
Registriert: 08.02.2016 13:44:11
Lizenz eigener Beiträge: GNU General Public License
Wohnort: Bremen

Re: rsync datei gehört root

Beitrag von cosinus » 08.12.2023 00:31:43

???

Du wolltest doch zuerst, dass man sich als root NICHT einloggen darf. Das hab ich dann versucht zu erklären. Entweder ja, nein oder man nimmt den Kompromiss, dass man sich als root nur mit Key-Auth einloggen darf. Such dir was aus.

rsync greift dann auf ssh zurück, also das muss dann schon funktionieren.

michaa7
Beiträge: 4633
Registriert: 12.12.2004 00:46:49
Lizenz eigener Beiträge: MIT Lizenz

Re: rsync datei gehört root

Beitrag von michaa7 » 08.12.2023 00:40:20

Du verstehst wahrscheinlich WORAUF du antwortest, ich nicht mehr.

Ich lasse das jetzt und baue morgen die Platten jeweils aus und in den neuen Rechner ein und kopiere was ich brauche.

Danke dir für den Versuch.

n8
gruß

michaa7

-------------------------------
Menschen ändern gelegentlich ihre Ansichten, aber nur selten ihre Motive. (Oskar Negt)

Benutzeravatar
cosinus
Beiträge: 3441
Registriert: 08.02.2016 13:44:11
Lizenz eigener Beiträge: GNU General Public License
Wohnort: Bremen

Re: rsync datei gehört root

Beitrag von cosinus » 08.12.2023 00:48:25

Vergiss das einfach mi dem Key. Wir haben uns da wohl verhaspelt, weil ich dachte du willst nicht, dass man sich mit normalen Mitteln also einfach per Passwort als root einlogen darf.

Mach im SSH-Server einfach die Zeile mit PermitRootLogin mit einem yes rein. Dann den SSH-Dienst reloaden oder restarten.

Dann kannst du dich von einem anderen Rechner per root direkt einloggen. Natürlich mit dem Passwort für root von "neuertower". Das musst du dann natürlich gesetzt haben. Wenn dann alles funktioniert, kannst du vom Client aus beliebige Verzeichnisse des entfernten Rechners mounten zB

Code: Alles auswählen

mount.sshfs root@neuertower:/etc /media/neuertower
Dann ist das Verzeichnis /etc vom "Server" eingebunden in /media/neuertower auf deinem Client. Dann kannst mit rsync oder einem anderen Tool machen was du willst.

michaa7
Beiträge: 4633
Registriert: 12.12.2004 00:46:49
Lizenz eigener Beiträge: MIT Lizenz

Re: rsync datei gehört root

Beitrag von michaa7 » 08.12.2023 01:19:39

Ok, obwohl ich das ja schon beendet hatte, dieser Vorschlag erscheint mir im LAN ok und ich glaube ihn zu durchblicken ... ist ja recht transparent. Jetzt bin ich definitiv zu müde, aber morgen werde ich das versuchen ... und es wird klappen.

Es scheint mir für eine temporäre Lösung sogar besser als die anderen Optionen.

Danke.

Jetzt wirklich n8.

EDIT:
hm, nicht mehr ganz so sicher:

1) ist mount.sshfs richtig? Weil ich weder in man mount noch in man sshfs diese notierung findet.

2)
By default, file permissions are ignored by SSHFS. Any user that can
access the filesystem will be able to perform any operation that the
remote server permits - based on the credentials that were used to con‐
nect to the server. If this is undesired, local permission checking can
be enabled with -o default_permissions.
Ich bin mir nicht sicher ob es sinnvoll ist systemverzeichnisse auf diese Weise zu kopieren. Ich muss sicher sein anschließend keinen userrechtesalat im kopierten System zu hinterlassen.
gruß

michaa7

-------------------------------
Menschen ändern gelegentlich ihre Ansichten, aber nur selten ihre Motive. (Oskar Negt)

Benutzeravatar
cosinus
Beiträge: 3441
Registriert: 08.02.2016 13:44:11
Lizenz eigener Beiträge: GNU General Public License
Wohnort: Bremen

Re: rsync datei gehört root

Beitrag von cosinus » 08.12.2023 08:32:37

Du kannst auch mit rsync direkt auf ein ssh-Ziel speichern oder lesen lassen. Aber mit sshfs gemountet stellt sich das entfernte Verzeichnis dann wie ein lokales dar.

HumiNi
Beiträge: 342
Registriert: 02.10.2014 21:46:18

Re: rsync datei gehört root

Beitrag von HumiNi » 08.12.2023 10:29:08

Wenn es dir "nur" ums Kopieren (also nicht Synchronisieren) geht - Stichwort: installation transferieren) - und du genügend Platz hast, könntest du unter Umgehung des root-logins folgenden Weg gehen:
- Archiv (z.B tar-Ball) erzeugen als root
- Kopieren des Archivs als "normaler" User auf das remote-System
- Auspacken des Archivs als root
Dummheit schafft Freizeit!

michaa7
Beiträge: 4633
Registriert: 12.12.2004 00:46:49
Lizenz eigener Beiträge: MIT Lizenz

Re: rsync datei gehört root

Beitrag von michaa7 » 08.12.2023 12:28:24

entsorgt2014 hat geschrieben: ↑ zum Beitrag ↑
08.12.2023 10:29:08
Wenn es dir "nur" ums Kopieren (also nicht Synchronisieren) geht - Stichwort: installation transferieren) - und du genügend Platz hast, könntest du unter Umgehung des root-logins folgenden Weg gehen:
- Archiv (z.B tar-Ball) erzeugen als root
- Kopieren des Archivs als "normaler" User auf das remote-System
- Auspacken des Archivs als root
Klingt gut, aber ausser Platz braucht man wohl auch zeit, und dann die doppelte, oder? 20GB packen, bei (großzügig nur wg prinzip) 50% packvolumen 10GB kopieren, und dann wieder auf 20GB entpacken ...
Ich habe es nie gemacht, aber da kommt mehr als die doppelte Zeit raus, oder?
gruß

michaa7

-------------------------------
Menschen ändern gelegentlich ihre Ansichten, aber nur selten ihre Motive. (Oskar Negt)

HumiNi
Beiträge: 342
Registriert: 02.10.2014 21:46:18

Re: rsync datei gehört root

Beitrag von HumiNi » 08.12.2023 12:57:31

Ich habe dazu keine praktischen Erfahrungen. Das war nur eine Idee. Die Zeit hängt aber garantiert von deiner Hardware ab.
Wenn du es geschickt anstellst, speicherst du das Archiv nicht ab, sondern schickst es in eine Pipe. Ebenso auf dem Zielsystem: Nicht speichern, sondern in einer Pipe root zum Entpacken vorwerfen.
Dummheit schafft Freizeit!

michaa7
Beiträge: 4633
Registriert: 12.12.2004 00:46:49
Lizenz eigener Beiträge: MIT Lizenz

Re: rsync datei gehört root

Beitrag von michaa7 » 08.12.2023 13:07:41

entsorgt2014 hat geschrieben: ↑ zum Beitrag ↑
08.12.2023 12:57:31
Ich habe dazu keine praktischen Erfahrungen. Das war nur eine Idee. Die Zeit hängt aber garantiert von deiner Hardware ab.
Wenn du es geschickt anstellst, speicherst du das Archiv nicht ab, sondern schickst es in eine Pipe. Ebenso auf dem Zielsystem: Nicht speichern, sondern in einer Pipe root zum Entpacken vorwerfen.
Ja klingt toll, aber überfordert mich. Und klitzekleine Anmerkung: In einer pipe kann ich zweimal den user wechseln? Das geht (wenn man weiß wie)???
gruß

michaa7

-------------------------------
Menschen ändern gelegentlich ihre Ansichten, aber nur selten ihre Motive. (Oskar Negt)

Benutzeravatar
cosinus
Beiträge: 3441
Registriert: 08.02.2016 13:44:11
Lizenz eigener Beiträge: GNU General Public License
Wohnort: Bremen

Re: rsync datei gehört root

Beitrag von cosinus » 08.12.2023 13:08:40

Die Idee ist aber nicht schlecht. Man könnte das noch weiterspinnen und in Erwägung ziehen, regelmäßig per cronjob so ein Archiv zu erstellen und das dann auf einem Volume mit genügend Platz abzulegen. Das könnte man dann auch einfach per samba oder nfs verfügbar machen und dann aus dem Archiv direkt auf dem Zielsystem/Client entpacken bei Bedarf.

michaa7
Beiträge: 4633
Registriert: 12.12.2004 00:46:49
Lizenz eigener Beiträge: MIT Lizenz

Re: rsync datei gehört root

Beitrag von michaa7 » 08.12.2023 15:11:20

cosinus hat geschrieben: ↑ zum Beitrag ↑
08.12.2023 13:08:40
Die Idee ist aber nicht schlecht. Man könnte das noch weiterspinnen und in Erwägung ziehen, regelmäßig per cronjob so ein Archiv zu erstellen und das dann auf einem Volume mit genügend Platz abzulegen. Das könnte man dann auch einfach per samba oder nfs verfügbar machen und dann aus dem Archiv direkt auf dem Zielsystem/Client entpacken bei Bedarf.
Das beantwortet nicht die Frage: kann man in der vorgeschlagenen pipe wirklich zwei mal den user wechseln?
gruß

michaa7

-------------------------------
Menschen ändern gelegentlich ihre Ansichten, aber nur selten ihre Motive. (Oskar Negt)

Benutzeravatar
cosinus
Beiträge: 3441
Registriert: 08.02.2016 13:44:11
Lizenz eigener Beiträge: GNU General Public License
Wohnort: Bremen

Re: rsync datei gehört root

Beitrag von cosinus » 08.12.2023 15:34:05

michaa7 hat geschrieben: ↑ zum Beitrag ↑
08.12.2023 15:11:20
Das beantwortet nicht die Frage: kann man in der vorgeschlagenen pipe wirklich zwei mal den user wechseln?
Muss man das denn, wenn das Archiv schon fertig da liegt? Du musst doch nur vom Client aus an das Archiv herankommen, zB nach /mnt mounten und dann kannste es mit root (auch am Client) überall hin entpacken.

Antworten