Pregunta :¿Cómo ejecutar el comando scp sin solicitar ninguna contraseña en Linux?
La operación sin contraseña se puede agregar a cron o programar en caso de reducir la intervención manual. Los diversos métodos de operaciones de copia incluyen rsync, bacula y keygen con scp.
1. Genere una clave usando ssh-keygen para cualquier usuario y servidor en particular. Por ejemplo, puedes seguir esto:
# ssh-keygen -t rsa -b 4096 -C "root@localhost" Generating public/private rsa key pair. Enter file in which to save the key (/root/.ssh/id_rsa): Created directory '/root/.ssh'. Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /root/.ssh/id_rsa. Your public key has been saved in /root/.ssh/id_rsa.pub. The key fingerprint is: 33:4c:b1:a1:b0:f7:3a:85:0c:85:b9:6b:eb:c6:69:8b root@localhost The key's randomart image is: +--[ RSA 4096]----+ | .o. o | | o+ . + | | o.o o | | .+ = | | .o S | | o o o | | o oo | | .* . | | E+o. | +-----------------+
Podemos ver la clave generada como se muestra a continuación con .pub extensión:
# ls -l .ssh/ total 8 -rw-------. 1 root root 3239 Aug 13 13:11 id_rsa -rw-r--r--. 1 root root 736 Aug 13 13:11 id_rsa.pub
2. Una vez que se genera la clave pública, copie el archivo .pub como authorized_keys en .ssh directorio en el hogar del usuario para el usuario en el servidor de destino. Una vez hecho esto, intente hacer ssh que se conectará sin contraseña.
# cat .ssh/id_rsa.pub | ssh root@server2 'cat >> .ssh/authorized_keys'
# ssh root@server2
Ahora puede copiar un archivo usando scp como se muestra a continuación:
# scp test_file.txt root@server2:/tmp/ test_file.txt 100% 20 0.0KB/s 00:00