Newsgroup: it.comp.os.linux.iniziare
Titolo: rsync e nas Synology

Per fare il backup di una cartella sul nas:
 
$ rsync /tmp/test/ ad...@192.168.0.120:/test
ad...@192.168.0.120
's password:
skipping directory .
ERROR: module is read only
rsync error: syntax or usage error (code 1) at main.c(1131) [Receiver=3.0.9]
rsync: connection unexpectedly closed (112 bytes received so far) [sender]
rsync error: error in rsync protocol data stream (code 12) at io.c(226) 
[sender=3.1.1]
 
Cosa c'è che non va?


Due cose meritano attenzione:
- meglio se usi l'account <user> invece di quello admin del NAS
- la directory di destinazione non deve essere in root ma sotto /volume1/<user>/<dest>
Inoltre se usi l'accesso mediante chiave anziché password ti risparmi di doverla digitare 
ogni volta.
 
angelo
 

 doverla digitare ogni volta.
 
http://lugscandiano.org/index.php/Backup_con_rsync_via_ssh
 
ma non ci sono riuscito
 


 
Che cosa non ti riesce esattamente?
Sei riuscito a creare la coppia di chiavi?
 
angelo
 
 

 Sei riuscito a creare la coppia di chiavi?
 
$ ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/home/xxx/.ssh/id_rsa): [niente]
Enter passphrase (empty for no passphrase): [niente]
Enter same passphrase again: [niente]
Your identification has been saved in /home/xxx/.ssh/id_rsa.
Your public key has been saved in /home/xxx/.ssh/id_rsa.pub.
The key fingerprint is:
...
 
ed ho copiato /home/xxx/.ssh/id_rsa.pub
in ftp://fitt...@192.168.0.120:/home/.ssh/authorized_keys
 

 in ftp://fitt...@192.168.0.120:/home/.ssh/authorized_keys
 
Adesso devi solo inserire nel comando rsync il parametro relativo alla chiave privata:
	-e 'ssh -i /home/xxx/.ssh/id_rsa'
che quindi diventa:
 
rsync -e 'ssh -i /home/xxx/.ssh/id_rsa' /tmp/ fittizio@ecc...
 
oppure dare prima il comando:
	ssh-add /home/xxx/.ssh/id_rsa
 
Se ti interessa qui puoi trovare lo script che uso io per i salvataggi.
 
https://dl.dropboxusercontent.com/u/2541296/diff_home.sh
 
 
angelo

 
https://dl.dropboxusercontent.com/u/2541296/diff_home.sh
 
 
Chiede sempre la pass.
Ma il file /home/xxx/.ssh/id_rsa.pub deve proprio essere copiato in 
ftp://fitt...@192.168.0.120:/home/.ssh/authorized_keys (nome reale: 
/volume1/homes/fittizio/authorized_keys)?
 

 /volume1/homes/fittizio/authorized_keys)?
 
No, devi creare una directory con nome ".ssh" in /volume1/homes/fittizio/ e in questa devi 
mettere il file authorized_keys nel quale devi copiare pari-pari il contenuto del file 
id_rsa.pub. Se non hai altre chiavi pubbliche puoi rinominare il file id_rsa.pub in 
authorized_keys e metterlo in /volume1/homes/fittizio/.ssh
 
angelo


è quello che ho fatto; ma il nome dell'utente sul mio pc con ubuntu non 
è che deve essere uguale a quello del nas?


Quello potrebbe essere il motivo.
Direi che per evitare problemi di accesso ai file l'utente deve essere lo stesso, non solo 
come nome ma anche come userID.
Synology assegna lo userID 1024 ad admin e tutti gli altri a seguire contrariamente al mio 
opensuse (e, credo anche ubuntu) che li assegna a partire da 1000.
 
angelo

 partire da 1000.
 
Perdona l'ignoranza, che differenza c'è tra il nome e l'user-id?
 


Ogni account oltre al nome ha assegnato un numero, userID. Root ha il numero 0, mentre gli 
user di sistema hanno numeri, di solito, tra 1 e 1000 (1024 per sinology) e gli altri a 
salire.
 
Se su due pc in rete ad uno stesso username non corrisponde lo stesso userID non possono 
avere accesso reciprocamente ai file.
 
Col comando "cat /etc/passwd" puoi vedere i nomi e gli userID di tutti gli utenti della 
macchina.
 
 
angelo
 
 
 

 gli utenti della macchina.
 
computer
fittizio:x:1002:1001:fittizio,,,:/home/fittizio:/bin/bash
 
nas
fittizio:x:1037:100::/var/services/homes/fittizio:/sbin/nologin
 
ma quei due numeri dopo *fittizio:* cosa indicano?

 ma quei due numeri dopo *fittizio:* cosa indicano?
 
Sono l'identificativo dello user e del gruppo rispettivamente.
 
Poco fa ho provato ad accedere al NAS da un altro PC con lo stesso username ma diverso 
userID e, apparentemente, non sto avendo problemi. In passato invece ho dovuto cambiare lo 
userID perche' accedendo con FTP non mi mostrava lo username e mi trovavo solo lo userID.
Ora pare non ci sia piu' questo problema e quindi il mancato tuo accesso deve avere 
un'altra causa.
Che messaggio di errore ti da?
 
angelo

 Che messaggio di errore ti da?
 
+ rsync -a -e ssh -i /home/xxx/Documenti/fittizio_keys/id_rsa \
	/tmp/ \
	fitt...@192.168.0.120:/volume1/homes/fittizio
fitt...@192.168.0.120
's password:
 
Come vedi non dà nessun errore, ma continua a chiedere la password.
Non so se mi spiego...

 Non so se mi spiego...
 
 
Se dai il comando:
 
ssh -i /home/xxx/Documenti/fittizio_keys/id_rsa 
fitt...@192.168.0.120
 
 
che cosa ti risponde?
 
angelo


fitt...@192.168.0.120
's password: (digito la pass)
Permission denied, please try again.
Connection to 192.168.0.120 closed.
 
 


Succede quando il file authorized_keys manca in user/.ssh o la chiave pubblica e' corrotta.
Prova ad aprire il file con un editor e verifica che la chiave non abbia ritorni a capo ma 
sia una riga continua.
 
angelo
 

 ritorni a capo ma sia una riga continua.
 
Il ritorno a capo c'è, ma alla fine.
Cmq ho fatto
cp ~/.ssh/id_rsa.pub /tmp/authorized_keys
ed ho copiato quest'ultimo in 
fitt...@192.168.0.120:/volume1/homes/fittizio/.ssh/


 
A proposito di chiavi ssh, oggi ho scoperto che se la chiave privata non ha permessi 
sufficientemente ristretti viene rifiutata; ho dovuto cambiarli da 644 a 600 per fargliela 
accettare.
 
angelo
 

 cambiarli da 644 a 600 per fargliela accettare.
 
Niente.
Non è che devo mettere le mani su qualche file di configurazione come 
dice qui
https://www.luxgruppe.de/tech/?p=164
 
 


Non mi si apre la pagina, comunque prima di accedere alla configurazione del servizio ssh 
del NAS (e' abbastanza complicato diventare root), io proverei a verificare la coppia di 
chiavi su un altro server ssh, per esempio se hai a disposizione un altro pc, gli copi la 
chiave pubblica e provi su di lui l'accesso.
Hai verificato se hai accesso come user "fittizio" al file authorized_keys sul NAS?
 
angelo

 authorized_keys sul NAS?
 
Tramite ftp, ssh, o cosa?
 
Però ecco un'altra sorpresa
 
$ ssh fittizio@nas
fittizio@nas's password:
Permission denied, please try again.
Connection to nas closed.
 
Cioè non accede nemmeno usando la password (ho provato anche con altri 
utenti). In pratica funziona solo con admin.

 funziona solo con admin.
 
Questo e' normale, solo admin ha accesso tramite telnet e ssh.
 
angelo
 

 Questo e' normale, solo admin ha accesso tramite telnet e ssh.
 
Quindi un utente comune potrebbe accedere solo tramite coppia di chiavi 
(opzione -i ..., se solo funzionasse)?

 se solo funzionasse)?
 
No, per motivi di sicurezza un utente comune non ha nessun accesso con ssh ne' con telnet.
Anzi, e' buona norma di disabilitare sia telnet che l'accesso ssh con password e 
consentirlo solo con chiavi.
 
angelo

 e verificare dove sta l'interruzione del percorso.
 
ls -al /volume1/homes/fittizio/
 
tra le varie cose esce
 
drwx------  2 fittizio users 4096 Dec 14 13:33 .ssh

 drwx------  2 fittizio users 4096 Dec 14 13:33 .ssh
 
Sempre da admin prova a digitare:
	sudo chmod 777 /volume1/homes/fittizio/.ssh
ti chiedera' la password e poi avrai accesso.
 
angelo

Il 14/12/2016 18:17, alex ha scritto:

Allora...
Ho ricreato la directory .ssh
Ho ricopiato il file authorized_keys
 
Ecco cosa esce:
 
$ ls -alR /volume1/homes/fittizio
/volume1/homes/fittizio:
total 12
drwxrwxrwx  3 fittizio users 4096 Dec 14 18:20 .
drwxr-xr-x 10 root     root  4096 Jun  6  2016 ..
drwxrwxrwx  2 fittizio users 4096 Dec 14 18:20 .ssh
 
/volume1/homes/fittizio/.ssh:
total 12
drwxrwxrwx 2 fittizio users 4096 Dec 14 18:20 .
drwxrwxrwx 3 fittizio users 4096 Dec 14 18:20 ..
-rw-rw-rw- 1 fittizio users  397 Dec 14 18:20 authorized_keys
 
Quindi riproviamo
 
+ ssh -i ~/.ssh/id_rsa fittizio@nas
fittizio@nas's password:
Permission denied, please try again.
Connection to nas closed.
 
Chiede sempre la pass.
Dice sempre Permision denied...


non funziona, cmq leggi l'altro post
 


E' il comportamento di quando l'utente non ha accesso per qualche motivo alla chiave 
pubblica, quando ha l'accesso non chiede la password ma nega il permesso e chiude la 
connessione.
A questo punto mi viene il dubbio che la causa siano i diversi userID del PC e del NAS.
Prima di cambiare lo userID sul PC (quello del NAS conviene non toccarlo) puoi provare a 
creare un nuovo user sul NAS e creare il corrispondente sul PC con gli stessi username e 
userID e riprovare con le stesse chiavi.
 
angelo
 
 

 le stesse chiavi.
 
Come si crea un username (nuovo utente sul mio pc) con user-id 
personalizzato?
 

 Come si crea un username (nuovo utente sul mio pc) con user-id personalizzato?
 
Con il comando
 
	sudo useradd -m -u <userID> -p <password>
 
lo <userID> lo ricavi col comando "cat /etc/passwd" sul NAS
 
angelo
 


$ sudo useradd -m -u 1038 -p test2 test2
 
$ cat /etc/passwd
...
test2:x:1038:1038::/home/test2:
 
$ ssh admin@nas
 
$ cat /etc/passwd
...
test2:x:1038:100::/var/services/homes/test2:/sbin/nologin
...
 
$ ls -alR /volume1/homes/test2/.ssh
/volume1/homes/test2/.ssh:
total 12
drwxrwxrwx 2 test2 users 4096 Dec 14 20:29 .
drwxr-xr-x 3 test2 users 4096 Dec 14 20:29 ..
-rw-rw-rw- 1 test2 users  393 Dec 14 20:41 authorized_keys
 
Direi che dovrebbe andare...
 
+ ssh -i ~/.ssh/id_rsa test2@nas
test2@nas's password:
Permission denied, please try again.
Connection to nas closed.
 
A questo punto inizierei a sfoderare qualche vaffan...


Io non ho altre idee da mettere in campo...
Peccato.
 
angelo

 Peccato.
 
Chiederò da qualche altra parte.