Como me autenticar como root por rsync+ssh em um servidor remoto?

Como me autenticar como root por rsync+ssh em um servidor remoto?

Estou tentando usar o rsynccomando, mas estou recebendo "permissão negada" porque o usuário pi não tem permissão para escrever sem o comando sudo

Estou tentando mover minha pasta Apache2 de 10.0.2.2 para[e-mail protegido]com

sudo rsync -av /etc/apache2 [email protected]:/etc/

Portanto, a grande questão é: existe alguma maneira de fornecer ao rsync um comando sudo para o usuário pi? ou algo mais sem conceder acesso total ao usuário pi

Responder1

Caro downvoter, o alvo é um Raspberry Pi e, portanto, temos um usuário root.


Você pode usar o rootusuário em vez de pi. Mas antes você precisa de uma senha para o rootusuário.

Abra uma conexão ssh

ssh [email protected]

E defina uma rootsenha

sudo su -
passwd

Agora você pode usar

rsync -av /etc/apache2 [email protected]:/etc/

Responder2

O método mais fácil quando um login root está disponível é:

rsync -av /etc/apache2 [email protected]:/etc/

Nota: não há necessidade de sudo rsyncque todos os arquivos de configuração /etc/apache2sejam legíveis por todos.

Se você não se importa com alguns comandos interativos adicionais envolvendo sudoo pi, tente esta abordagem:

  1. Compacte todos os arquivos (os arquivos /etcgeralmente são pequenos, portanto não deve ser um problema compactar tudo):

    tar -czC /etc apache2 | ssh [email protected] 'cat > /tmp/apache2.tar.gz'
    
  2. Descompacte todos os arquivos no pi:

    sudo tar -xzf /tmp/apache2.tar.gz -C /etc
    

Há uma terceira possibilidade que envolve a configuração de um daemon rsync, mas isso requer mais esforço e pode ser menos seguro, pois o protocolo de conexão não é criptografado e pode conceder acesso a qualquer pessoa que possa se conectar ao daemon.

informação relacionada