Script SCP con clave pública.
Necesito configurar un script para copiar algunos archivos desde un servidor Ubuntu a otro.
Estoy intentando configurar este script:
#!/bin/sh
#Monitoring
for i in 192.168.0.10 192.168.0.11;
do
su customuser -l -c "scp -oStrictHostKeyChecking=accept-new -oPasswordAuthentication=no -oBindAddress=0.0.0.0 -q -r /tmp/log/*log customuser@${i}:/data/logs/"
done
Recibo este log:
Executing: program /usr/bin/ssh host 192.168.0.10, user customuser, command scp -v -r -d -t /data/logs/
lost connection
Puedo conectarme a la cuenta en el servidor remoto. Pero cuando intento ejecutar el script, los logs son:
debug3: receive packet: type 51
debug1: Authentications that can continue: publickey,password
debug3: start over, passed a different list publickey,password
debug3: preferred gssapi-with-mic,publickey,keyboard-interactive
debug3: authmethod_lookup publickey
debug3: remaining preferred: keyboard-interactive
debug3: authmethod_is_enabled publickey
debug1: Next authentication method: publickey
debug1: Trying private key: /data/customuser/.ssh/id_rsa
debug3: sign_and_send_pubkey: RSA SHA256:xxxxxxxx
debug3: sign_and_send_pubkey: signing using rsa-sha2-512 SHA256:xxxxxxx
debug3: send packet: type 50
debug2: we sent a publickey packet, wait for reply
Connection closed by 192.168.0.10 port 22
Copié la clave privada en los servidores remotos y en el servidor remoto existe el mismo usuario customuser
. ¿Cómo puedo comprobarlo en el servidor remoto?
davy.ai
Para verificar en el servidor remoto, puede intentar los siguientes pasos:
.ssh
existe en el directorio de inicio de la cuenta de usuario personalizada. Si no existe, ejecute el siguiente comando para crearlo:authorized_keys
existe en el directorio.ssh
. Si no existe, ejecute el siguiente comando para crearlo:authorized_keys
tenga los permisos correctos. Solo debe ser escribible por el propietario:authorized_keys
en un editor de texto y agregue el contenido de la clave pública que está utilizando para la autenticación. Asegúrese de que la clave esté en una sola línea y que no haya saltos de línea.Guarde el archivo
authorized_keys
y salga del editor.Intente ejecutar el script nuevamente y vea si funciona.
Si los pasos anteriores no funcionan, también puede intentar verificar los registros del servidor SSH en el servidor remoto para ver si hay algún mensaje de error que pueda brindarle más información sobre el problema.