Temos um servidor que faz backup de múltiplos servidores. O servidor de backups está localizado no escritório e em todos os outros servidores na nuvem.
Nós movemos todo o servidor para um novo IP e, a partir desse momento, os backups pararam. .
Nos hosts nós autorizamos o novo IP no rsync.conf (hosts allow = new IP) e também em ~ / .ssh / nano authorized_keys alterando o de like: from="novo Ip", ssh-rsa .... ... root @ backup).
Mas isso não funcionou, então geramos um novo par de chaves sem senha.
ssh-keygen
E nós copiamos para o host:
ssh-copy-id -i /root/.ssh/id_dsa.pub [email protected]
Nós usamos o rsync combinado com ssh e root, assim
rsync -az "ssh -i /root/.ssh/id_dsa.pub" [email protected]. folder1
folder2
mas, neste caso, temos este erro:
ERROR: The remote path must start with a module name rsync error:
error starting client-server protocol (code 5) at main.c(1534)
[Receiver=3.0.9] remotehost :~/.ssh# rsync error: received SIGUSR1
(code 19) at main.c(1316) [Receiver=3.0.9]
E no servidor host, temos este log:
Oct 20 13:35:44 remotehost sshd[21863]: pam_unix(sshd:auth):
authentication failure; logname= uid=0 euid=0 tty=ssh ruser=
rhost=new_IP user=root Oct 20 13:35:46 remotehost sshd[21863]: Failed
password for root from New_IP port 56355 ssh2
No host, o serviço rsync está em execução.
Nós tentamos vários métodos e seguimos vários manuais.
Alguém pode me ajudar?
Obrigado antecipadamente !!
Update1:
Este é o meu rsyncd.conf em ambos os nós;
No servidor de backup:
hosts allow = allow IP'S
hosts deny = *
[Remote_Server1]
path= /var/backups/server1
comment = Server1
uid = root
gid = root
[Remote_Server2]
path= /var/backups/server2
comment = Server2
uid = root
gid = root
No servidor remoto:
hosts allow = backup server public IP
hosts deny = *
max connections = 48
syslog facility = daemon
[root-server1]
path = /
comment = root directory of my server1
uid = root
gid = root
[etc-server1]
path = /etc
comment = Directory of my server1
uid = root
gid = root
[home-server1]
path = /home
comment = home of my server
uid = root
gid = root
Update2:
Eu configurei o ssh dessa maneira:
no arquivo / etc / ssh / sshd_config
PermitRootLogin forced-commands-only
DSAAuthentication yes
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile %h/.ssh/authorized_keys
E, além disso, no arquivo /root/.ssh/authorized_keys no servidor remoto eu tenho (eu fiz isso com este manual link ):
from="My IP",command="/home/remoteuser/cron/validate-rsync"/ ssh-dss ADCD...1234......kEY root@backupserver
onde o arquivo validate-rsync é:
#!/bin/sh
case "$SSH_ORIGINAL_COMMAND" in
*\&*)
echo "Rejected"
;;
*\(*)
echo "Rejected"
;;
*\{*)
echo "Rejected"
;;
*\;*)
echo "Rejected"
;;
*\<*)
echo "Rejected"
;;
*\'*)
echo "Rejected"
;;
*\|*)
echo "Rejected"
;;
rsync\ --server*)
$SSH_ORIGINAL_COMMAND
;;
*)
echo "Rejected"
;;
esac
Com esta configuração, eu corro o comando:
rsync -azvvv -e "ssh -i /root/.ssh/rsync.key" root@remoteserver1::home-server1/ /home/local/
No caso, recebo este erro:
pening connection using: ssh -i /root/.ssh/rsync.key -l root
remoteserver1 rsync --server --daemon . rsync: server sent
"**************************************************************************" rather than greeting rsync error: error starting client-server
protocol (code 5) at main.c(1534) [Receiver=3.0.9] [Receiver]
_exit_cleanup(code=5, file=main.c, line=1534): about to call exit(5)
E nos logs eu tenho isso:
sshd[10408]: Root login accepted for forced command. sshd[10408]:
Accepted publickey for root from XXX.XXX.XXX port 60543 ssh2
sshd[10408]: pam_unix(sshd:session): session opened for user root by
(uid=0) sshd[10408]: pam_unix(sshd:session): session closed for user
root
Update3:
O problema começou desde que movemos os servidores para outra nuvem. De fato, todas as configurações existentes explicadas neste post funcionam na nuvem antiga. Pode ser algum aplicativo de nível superior bloqueando o rsync na nova nuvem? Como eu poderia verificar isso? nós já verificamos as portas. Obrigado por todos.