¿Cómo autenticarme como root a través de rsync+ssh en un servidor remoto?

¿Cómo autenticarme como root a través de rsync+ssh en un servidor remoto?

Estoy intentando utilizar el rsynccomando pero recibo "permiso denegado" porque el usuario pi no tiene permiso para escribir sin el comando sudo.

Estoy intentando mover mi carpeta apache2 de 10.0.2.2 a[correo electrónico protegido]con

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

Entonces, la gran pregunta es: ¿hay alguna forma de proporcionarle a rsync un comando sudo para el usuario de pi? o algo más sin otorgarle acceso completo al usuario pi

Respuesta1

Estimado votante negativo, el objetivo es una Raspberry Pi y, por lo tanto, tenemos un usuario root.


Puedes usar el rootusuario en lugar de pi. Pero antes necesitas una contraseña para el rootusuario.

Abrir una conexión ssh

ssh [email protected]

Y establecer una rootcontraseña

sudo su -
passwd

Ahora puedes usar

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

Respuesta2

El método más sencillo cuando hay disponible un inicio de sesión root es:

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

Nota: no es necesario que sudo rsynctodos los archivos de configuración /etc/apache2sean legibles en todo el mundo.

Si no le importan algunos comandos interactivos adicionales relacionados sudocon el pi, pruebe este enfoque:

  1. Empaquete todos los archivos (los archivos /etcgeneralmente son pequeños, por lo que no debería ser un problema empaquetar todo):

    tar -czC /etc apache2 | ssh [email protected] 'cat > /tmp/apache2.tar.gz'
    
  2. Descomprima todos los archivos en el pi:

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

Existe una tercera posibilidad que implica configurar un demonio rsync, pero esto requiere más esfuerzo y puede ser menos seguro ya que el protocolo de conexión no está cifrado y puede otorgar acceso a cualquiera que pueda conectarse al demonio.

información relacionada