Newsgroup: it.comp.os.linux.iniziare
Titolo: Backup con rsync e ssh

Nella mia lan ho 3 computer su cui 2 � felicemente installata Mandriva, 
mentre sull'altro, PiccoloSoft, ora ho l'esigenza di fare il backup dei 
sistemi su server locale tramite rsynk, ma purtroppo ricevo sempre il 
seguente errore:
Warning: "Permanently added '[192.168.0.2]:2865' (RSA) to the list of 
known hosts.
Permission denied (publickey,keyboard-interactive).
rsync: connection unexpectedly closed (0 bytes received so far) [sender]
rsync error: error in rsync protocol data stream (code 12) at io.c(600) 
[sender=3.0.6]"
Allora le chiavi di ssh sxono state create correttamente tra i due 
sistemi, ovviamente senza password, passphrase (nulla) per automatizzare 
la procedura.
Il comando che do � il seguente:
rsync -avz -e ssh -p portadiversa /etc/ 
us...@192.168.0.2::portadiversa/percorso/server/backup/
Mi sono sfogliato decine di guide compreso il man, ma non ho risolto il 
problema! (l'inglese non � il mio forte)
Se mettessero il MAN in italiano nelle distribuzioni li proporrei per il 
NOBEL!!!

 un cretino ha scritto:
"Il microkernel e' morto da molto tempo ed ancora non lo sa." (cit. Bluff)


Ci penser�!

 accessibile esclusivamente per la LAN ho cambiato la porta di default.
prova invece cos�:
rsync -avz -e 'ssh -p portadiversa' /etc/ 
us...@192.168.0.2:/percorso/server/backup/
usi i doppi 2 punti solo quando usi il protocollo rsync, non quando usi ssh.

 accessibile esclusivamente per la LAN ho cambiato la porta di default.
Strano; perch� pur essendo il comando rsync sbagliato (hai dimenditato delle 
virgolette) si connetteva ugualmente a ssh.
Prova cos�.
rsync -avz -e 'ssh -p portadiversa' /etc/
       us...@192.168.0.2:/percorso/server/backup/


    
Nulla mi da il seguente errore:
Permission denied (publickey,keyboard-interactive).
rsync: connection unexpectedly closed (0 bytes received so far) [sender]
rsync error: error in rsync protocol data stream (code 12) at io.c(600) 
[sender=3.0.6]
Faccio alcune premesse, sul server ssh, dove risiede la directory di 
Backup (HD usb) ho lo userA e sul client, con cui mi connetto al server 
ssh, ho lo stesso nome, userA, e nella directory di destinazione del 
backup i permessi sono 777.

Alessio wrote:

i due rsync, sender e receiver, hanno numeri di versioni molto differenti?


Ho voluto fare la prova ad installarmi Grsync con il solo ed unico scopo 
di poter simulare la direttiva esatta, ma non sono riuscito a capire 
come impostargli che il backup lo deve effettuare direttamente sul 
server e non in locale.


No esattamente le stesse, tranne che per l'architettura 64bit sender, 
32bit receiver
rsync --version
rsync  version 3.0.6  protocol version 30

 backup i permessi sono 777.
Sarebbe utile che descrivessi meglio la tua situazione.
P.es.
Client: 192.168.0.1
Username: pippo
Server: 192.168.0.2
Username: pippo
Sul client in /home/pippo/.ssh ho la chiave rsa (id_rsa e id_rsa.pub)
Sul server, in /home/pippo/.ssh ho il file authorized_keys contenente la 
chiave pubblica dell'utente pippo del client (id_rsa.pub).
Sul server il demone ssh � in ascolto sulla porta 2222.
Dal client apro un terminale come utente pippo e do il comando:
pippo@client:~ $ ssh -p 2222 
pi...@192.168.0.2
Questo deve aprirmi una shell sul server come utente pippo. Faccio logout 
dal server ed eseguo il comando:
rsync -avHP -e 'ssh -p 2222' /etc/hosts 
pi...@192.168.0.2
:
Questo deve copiare il file /etc/hosts del client nella homedir dell'utente 
pippo sul server.
Non si pu� sbagliare, ma soprattutto se fino al ssh tutto funziona non pu� 
fallire rsync con l'errore che ha dato a te.



LAN COS� COMPOSTA:
*COMPUTER SERVER 2010 MANDRIVA 32 BIT*
IP assegnato manualmente: *192.168.0.2*
FileSystem: Ext4
Partizionamento / + /home
E' presente in authorized_keys la chiave rsa aggiunta dal client 192.168.0.3
-rw-r--r--  1 user1 user1  402 2010-01-31 10:12 authorized_keys
Impostata con passphrase nulla e senza password.
Impostazioni di SSHd_config:
RSAAuthentication yes
PasswordAuthentication no
SSHd dove gira solo su 192.168.0.2 su porta XXXX
2 HD USB (x i backup) entrambi con filesystem EXT4
Permessi Directory 777 (user1 che � lo stesso del client da cui mi connetto)
Quando il server si avvia, si avvia con nome utente USER1 - 
password=password
-----------------
*COMPUTER MANDRIVA 2010 64 BIT*
IP assegnato manualmente: *192.168.0.3*
FileSystem: Ext4
Partizionamento / + /home
Generazione chiavi:
ssh-keygen -t rsa
lascio percorso di deafault, cio�: ~/.ssh/id_rsa.pub, ~/.ssh/id_rsa, 
know_host
sul know_host � presente 192.168.0.2
Client ssh che si connette a SSHd 192.168.0.2 su porta 99XX
*RIBADISCO CHE SSH E' PERFETTAMENTE FUNZIONANTE*
Vorrei effettuare il backup della /etc locale sul server 192.168.0.2
nell'HD esterno usb avente il seguente percorso:
/media/client1/backup_giornaliero
Sto provando il comando da terminale in quanto vogLio creare il job per 
crontab
Quando il client si avvia, si avvia con nome utente USER1 - 
password=password
In pratica gli user e password sono uguali al server
Quando mi conetto al server ssh con: ssh -p 99XX 
us...@192.168.0.2
 la 
connessione avviene regolarmente
Ma se lancio rsync (da 192.168.0.3) mi da l'errore postato sopra
Sperando di essere stato il + possibile chiaro,
grazie

Il 31/01/2010 16:52, THe_ZiPMaN ha scritto:

Dimenticavo, chiave aggiunta dal client 192.168.0.3 con
ssh-copy-id -i id_rsa.pub 
us...@192.168.0.2
premesso che prima di aggiungere la chiave ho lasciato la porta di 
default, e solo dopo l'aggiunta ho cambiato la porta.

Il 31/01/2010 16:52, THe_ZiPMaN ha scritto:

Ho cancellato le vecchie chiavi ed ho ricreato delle nuove ora spiego la 
procedura che ho eseguito x creare le chiavi ssh senza password e 
passprhase:
Dal client A con user1 (192.168.0.3) do il seguente comando:
ssh-keygen -t dsa
confermo il percorso di default di salvataggio delle chiavi in:
~/.ssh/id_dsa
~/.ssh/id_dsa.pub
~/.ssh/known_hosts
-rw-------  1 USER1 USER1  668 2010-01-31 22:02 id_dsa
-rw-r--r--  1 USER1 USER1  610 2010-01-31 22:02 id_dsa.pub
-rw-r--r--  1 USER1 USER1  393 2010-01-31 22:05 known_hosts
Ora copio la chiave del client USER1 192.168.0.3, sul server B 
us...@192.168.0.2
 (qui l'utente ha lo stesso utente e password del client)
ssh-copy-id -i id_dsa.pub @
us...@192.168.0.2
e ricevo il seguente messaggio:
Warning: Permanently added '192.168.0.2' (RSA) to the list of known hosts.
us...@192.168.0.2
's password:
Now try logging into the machine, with "ssh '
us...@192.168.0.2
'", and 
check in:
   .ssh/authorized_keys
to make sure we haven't added extra keys that you weren't expecting.
Sul client A 192.168.0.3 in ~/.ssh/known_hosts � stata aggiunta la 
chiave del server B (192.168.0.2 ssh-rsa AAAAB3NzaC1yc2E.....etc... la 
stringa finisce con ==
A questo punto modifico il file di configurazione di sshd_config in 
questo modo:
***********************************************
#    $OpenBSD: sshd_config,v 1.80 2008/07/02 02:24:18 djm Exp $
# This is the sshd server system-wide configuration file.  See
# sshd_config(5) for more information.
# This sshd was compiled with PATH=/usr/local/bin:/bin:/usr/bin
# The strategy used for options in the default sshd_config shipped with
# OpenSSH is to specify options with their default value where
# possible, but leave them commented.  Uncommented options change a
# default value.
Port 22
#AddressFamily any
ListenAddress 192.168.0.2
#ListenAddress ::
# Disable legacy (protocol version 1) support in the server for new
# installations. In future the default will change to require explicit
# activation of protocol 1
Protocol 2
# HostKey for protocol version 1
HostKey /etc/ssh/ssh_host_key
# HostKeys for protocol version 2
HostKey /etc/ssh/ssh_host_rsa_key
HostKey /etc/ssh/ssh_host_dsa_key
# Lifetime and size of ephemeral version 1 server key
#KeyRegenerationInterval 1h
#ServerKeyBits 1024
# Logging
# obsoletes QuietMode and FascistLogging
#SyslogFacility AUTH
#LogLevel INFO
# Authentication:
LoginGraceTime 10
PermitRootLogin without-password
#StrictModes yes
MaxAuthTries 1
MaxSessions 3
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile    .ssh/authorized_keys
# For this to work you will also need host keys in /etc/ssh/ssh_known_hosts
#RhostsRSAAuthentication no
# similar for protocol version 2
#HostbasedAuthentication no
# Change to yes if you don't trust ~/.ssh/known_hosts for
# RhostsRSAAuthentication and HostbasedAuthentication
#IgnoreUserKnownHosts no
# Don't read the user's ~/.rhosts and ~/.shosts files
#IgnoreRhosts yes
# To disable tunneled clear text passwords, change to no here!
PasswordAuthentication no
#PermitEmptyPasswords no
# Change to no to disable s/key passwords
#ChallengeResponseAuthentication yes
# Kerberos options
#KerberosAuthentication no
#KerberosOrLocalPasswd yes
#KerberosTicketCleanup yes
#KerberosGetAFSToken no
# GSSAPI options
#GSSAPIAuthentication no
#GSSAPICleanupCredentials yes
# Set this to 'yes' to enable PAM authentication, account processing,
# and session processing. If this is enabled, PAM authentication will
# be allowed through the ChallengeResponseAuthentication and
# PasswordAuthentication.  Depending on your PAM configuration,
# PAM authentication via ChallengeResponseAuthentication may bypass
# the setting of "PermitRootLogin without-password".
# If you just want the PAM account and session checks to run without
# PAM authentication, then enable this but set PasswordAuthentication
# and ChallengeResponseAuthentication to 'no'.
UsePAM no
# Accept locale-related environment variables
AcceptEnv LANG LC_CTYPE LC_NUMERIC LC_TIME LC_COLLATE LC_MONETARY 
LC_MESSAGES
AcceptEnv LC_PAPER LC_NAME LC_ADDRESS LC_TELEPHONE LC_MEASUREMENT
AcceptEnv LC_IDENTIFICATION LC_ALL
#AllowAgentForwarding yes
#AllowTcpForwarding yes
#GatewayPorts no
X11Forwarding yes
#X11DisplayOffset 10
#X11UseLocalhost yes
#PrintMotd yes
#PrintLastLog yes
#TCPKeepAlive yes
#UseLogin no
UsePrivilegeSeparation yes
#PermitUserEnvironment no
#Compression delayed
#ClientAliveInterval 0
#ClientAliveCountMax 3
#UseDNS yes
#PidFile /var/run/sshd.pid
#MaxStartups 10
#PermitTunnel no
#ChrootDirectory none
# no default banner path
#Banner none
# override default of no subsystems
Subsystem    sftp    /usr/lib/ssh/sftp-server
# Example of overriding settings on a per-user basis
#Match User anoncvs
#    X11Forwarding no
#    AllowTcpForwarding no
#    ForceCommand cvs server
*******************************************************
Provo la connessione: ssh 
us...@192.168.0.2
 e funziona perfettamente 
senza chiedermi password e passphrase.
Nel server B di USER1 nella directory .ssh � presente soltanto il file 
authorized_keys con i seguenti permessi:
-rw-r--r--  1 USER1 USER1  610 2010-01-31 22:06 authorized_keys
Verifico che la chiave sia sta aggiunta:
# nano /home/user1/.ssh/authorized_keys
ssh-dss AAAAB3NzaC1kc3MAAACBAI......etcc. la stringa finisce con == 
user1@clientA
Sperando di ricevere un aiuto, ringrazio anticipatamente!

 Sperando di ricevere un aiuto, ringrazio anticipatamente!
se dai da 192.168.0.3 il comando:
scp /etc/hosts us...@192.168.0.2:/percorso/server/backup/
funziona?


Purtroppo no, ottengo
Permission denied (publickey,keyboard-interactive).
lost connection
proprio nn capisco

Alessio wrote:


hai gi� provato a fare qualche test per verificare che user1 possa 
effettivamente scrivere in /percorso/server/backup?


Si ho fatto nuovamente una prova ed i permessi sono i seguenti:
drwxrwxrwx 28 USER1 user1 4096 2010-01-31 11:18 HD_REMOTO/

 proprio nn capisco
Quesato � un errore di autenticazione di SSH, ma � assurdo che vada ssh e 
non vada scp perch� sono praticamente la stessa cosa. Sinceramente non mi � 
MAI capitato che vada ssh e non scp (salvo dove scp sia stato disattivato).
Prova ad eseguire prima
    ssh 
us...@192.168.0.2
 cat /etc/hosts
E se funziona, dalla stessa shell, subito dopo
    scp /etc/hosts us...@192.168.0.2:/percorso/server/backup/
Non posso credere che vada il primo e non il secondo. O falliscono entrambi 
o funzionano entrambi.



Ho provato a dare: scp /etc/hosts 
us...@192.168.0.2:/media/media/directory_remota_backup
ssh: Could not resolve hostname /etc: Name or service not known
Ma /etc/hosts?

 drwxrwxrwx 28 USER1 user1 4096 2010-01-31 11:18 HD_REMOTO/
verifica anche che su 192.168.0.2 user1 possa eseguire scp e rsync.
prova nel caso ad eseguire una copia di un file al contrario, da 192.168.0.2 
a 192.168.0.3


Allora ho provato a fare una copia di un file, dal server 192.168.0.2 
alla sua unit� usb x il backup:
scp /etc/hosts /media/SERVER_B/giornaliero
ha copiato con successo
Premetto che il rsync in locale funziona regolarmente sia sul Client A 
che sul Server B.

Il 01/02/2010 08:29, gt ha scritto:

Ho provato ad eseguire da  #, dal client A, una connessione ssh sul 
server B, ottenendo questo errore:
Permission denied (publickey,keyboard-interactive).
Ma sul file di configurazione di sshd sul server B, la direttiva l'ho 
cambiata in:
PermitRootLogin yes
Per� il server continua lo stesso a rifiutarmi connesioni ssh da #  
(direttamente)

    
Ho risolto in questo modo:
Innanzitutto il cmd di rsync, per backuppare sul server, lo davo sul 
client 192.168.0.3, ma ottenendo l'errore, ho provato a fare l'inverso, 
cioè dare il comando sul server B:
rsync -avz -e ssh us...@192.168.0.3:/etc 
/media/HD_REMOTO/CLIENT_1/giornaliero
cosi funziona
Ma la mia domanda è, ma rsync, cambiando la sintassi, non dovrebbe 
essere bidirezionale?
Cmq ringrazio per la pazienza e la disponibilità:
→ gt
→ THe_ZiPMaN
senza il loro aiuto non sarei arrivato alla soluzione.


Come nn detto mi fa fare solo la prima copia ma se riprovo a dare il 
comando sul server da $:
rsync -avz -e ssh us...@192.168.0.3:/etc 
/media/HD_REMOTO/CLIENT_1/giornaliero
rsync: send_files failed to open "/etc/.pwd.lock": Permission denied (13)
rsync: send_files failed to open "/etc/at.deny": Permission denied (13)
rsync: send_files failed to open "/etc/gshadow": Permission denied (13)
rsync: send_files failed to open "/etc/gshadow-": Permission denied (13)
rsync: send_files failed to open "/etc/libaudit.conf": Permission denied 
(13)
rsync: send_files failed to open "/etc/login.defs": Permission denied (13)
rsync: send_files failed to open "/etc/mysqlmanager.passwd": Permission 
denied (13)
rsync: send_files failed to open "/etc/rsnapshot.conf": Permission 
denied (13)
rsync: send_files failed to open "/etc/shadow": Permission denied (13)
rsync: send_files failed to open "/etc/shadow-": Permission denied (13)
rsync: send_files failed to open "/etc/sudoers": Permission denied (13)
rsync: send_files failed to open "/etc/default/useradd": Permission 
denied (13)
rsync: send_files failed to open "/etc/ifw/whitelist": Permission denied 
(13)
rsync: send_files failed to open 
"/etc/netprofile/profiles/default/urpmi/etc/urpmi/netrc": Permission 
denied (13)
rsync: send_files failed to open "/etc/pam.d/chage-chfn-chsh": 
Permission denied (13)
rsync: send_files failed to open "/etc/pam.d/chpasswd-newusers": 
Permission denied (13)
rsync: send_files failed to open "/etc/pam.d/sshd": Permission denied (13)
rsync: send_files failed to open "/etc/pam.d/user-group-mod": Permission 
denied (13)
rsync: send_files failed to open "/etc/pki/tls/private/localhost.key": 
Permission denied (13)
rsync: opendir "/etc/skel/tmp" failed: Permission denied (13)
rsync: send_files failed to open "/etc/ppp/chap-secrets": Permission 
denied (13)
rsync: send_files failed to open "/etc/ppp/options": Permission denied (13)
rsync: send_files failed to open "/etc/ppp/pap-secrets": Permission 
denied (13)
rsync: send_files failed to open "/etc/rc.d/init.d/shorewall": 
Permission denied (13)
rsync: send_files failed to open "/etc/samba/passdb.tdb": Permission 
denied (13)
rsync: send_files failed to open "/etc/samba/secrets.tdb": Permission 
denied (13)
rsync: send_files failed to open "/etc/security/opasswd": Permission 
denied (13)
rsync: send_files failed to open "/etc/security/msec/security.conf": 
Permission denied (13)
rsync: send_files failed to open "/etc/shorewall/Makefile": Permission 
denied (13)
rsync: send_files failed to open "/etc/shorewall/accounting": Permission 
denied (13)
rsync: send_files failed to open "/etc/shorewall/actions": Permission 
denied (13)
rsync: send_files failed to open "/etc/shorewall/blacklist": Permission 
denied (13)
rsync: send_files failed to open "/etc/shorewall/clear": Permission 
denied (13)
rsync: send_files failed to open "/etc/shorewall/ecn": Permission denied 
(13)
rsync: send_files failed to open "/etc/shorewall/findgw": Permission 
denied (13)
rsync: send_files failed to open "/etc/shorewall/hosts": Permission 
denied (13)
rsync: send_files failed to open "/etc/shorewall/init": Permission 
denied (13)
rsync: send_files failed to open "/etc/shorewall/initdone": Permission 
denied (13)
rsync: send_files failed to open "/etc/shorewall/interfaces": Permission 
denied (13)
rsync: send_files failed to open "/etc/shorewall/isusable": Permission 
denied (13)
rsync: send_files failed to open "/etc/shorewall/lib.private": 
Permission denied (13)
rsync: send_files failed to open "/etc/shorewall/maclist": Permission 
denied (13)
rsync: send_files failed to open "/etc/shorewall/masq": Permission 
denied (13)
rsync: send_files failed to open "/etc/shorewall/nat": Permission denied 
(13)
rsync: send_files failed to open "/etc/shorewall/netmap": Permission 
denied (13)
rsync: send_files failed to open "/etc/shorewall/notrack": Permission 
denied (13)
rsync: send_files failed to open "/etc/shorewall/params": Permission 
denied (13)
rsync: send_files failed to open "/etc/shorewall/policy": Permission 
denied (13)
rsync: send_files failed to open "/etc/shorewall/providers": Permission 
denied (13)
rsync: send_files failed to open "/etc/shorewall/proxyarp": Permission 
denied (13)
rsync: send_files failed to open "/etc/shorewall/refresh": Permission 
denied (13)
rsync: send_files failed to open "/etc/shorewall/refreshed": Permission 
denied (13)
rsync: send_files failed to open "/etc/shorewall/restored": Permission 
denied (13)
rsync: send_files failed to open "/etc/shorewall/route_rules": 
Permission denied (13)
rsync: send_files failed to open "/etc/shorewall/routestopped": 
Permission denied (13)
rsync: send_files failed to open "/etc/shorewall/rules": Permission 
denied (13)
rsync: send_files failed to open "/etc/shorewall/rules.drakx": 
Permission denied (13)
rsync: send_files failed to open "/etc/shorewall/shorewall.conf": 
Permission denied (13)
rsync: send_files failed to open "/etc/shorewall/start": Permission 
denied (13)
rsync: send_files failed to open "/etc/shorewall/started": Permission 
denied (13)
rsync: send_files failed to open "/etc/shorewall/stop": Permission 
denied (13)
rsync: send_files failed to open "/etc/shorewall/stopped": Permission 
denied (13)
rsync: send_files failed to open "/etc/shorewall/tcclasses": Permission 
denied (13)
rsync: send_files failed to open "/etc/shorewall/tcclear": Permission 
denied (13)
rsync: send_files failed to open "/etc/shorewall/tcdevices": Permission 
denied (13)
rsync: send_files failed to open "/etc/shorewall/tcfilters": Permission 
denied (13)
rsync: send_files failed to open "/etc/shorewall/tcrules": Permission 
denied (13)
rsync: send_files failed to open "/etc/shorewall/tos": Permission denied 
(13)
rsync: send_files failed to open "/etc/shorewall/tunnels": Permission 
denied (13)
rsync: send_files failed to open "/etc/shorewall/zones": Permission 
denied (13)
rsync: send_files failed to open "/etc/ssh/denyusers.rpmnew": Permission 
denied (13)
rsync: send_files failed to open "/etc/ssh/ssh_host_dsa_key": Permission 
denied (13)
rsync: send_files failed to open "/etc/ssh/ssh_host_key": Permission 
denied (13)
rsync: send_files failed to open "/etc/ssh/ssh_host_rsa_key": Permission 
denied (13)
rsync: send_files failed to open "/etc/urpmi/netrc": Permission denied (13)
e se lo do da # sempre dal server:
Permission denied (publickey,keyboard-interactive).
rsync: connection unexpectedly closed (0 bytes received so far) [receiver]
rsync error: unexplained error (code 255) at io.c(600) [receiver=3.0.6]


Risolto!
Il crontab del backup lo eseguivo come user e non come root, ovviamente 
questo mi generava gli errori sui permessi di ariscrittura dei files.
Ho ricreato le chiavi ssh da root, ed ora il crontab generato per rsync 
funziona correttamente, grazie.