GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo ejecutar SSH y SCP en modo por lotes (solo cuando está habilitado el inicio de sesión sin contraseña)

Cuando tiene habilitado el inicio de sesión sin contraseña, puede usar SSH para ejecutar el comando en el modo por lotes en una máquina remota o usar SCP para copiar archivos desde/hacia la máquina remota.

Si hay algunos problemas con el inicio de sesión sin contraseña, su programa por lotes puede terminar en un bucle o tiempo de espera.

En este artículo, revisemos cómo instruir a ssh/scp para que realice la operación solo si puede hacerlo sin esperar la contraseña.

Antes de probar esto, asegúrese de que el inicio de sesión sin contraseña esté configurado entre su host y host remoto.

1. Ejemplo de uso de ssh -o “Modo por lotes sí”

Si tiene habilitado el inicio de sesión sin contraseña, el siguiente ejemplo iniciará sesión en el host remoto y ejecutará el comando who sin solicitar la contraseña.

local-host# ssh ramesh@remote-host who

Si el inicio de sesión sin contraseña no está habilitado, solicitará la contraseña en el host remoto como se muestra a continuación.

local-host# ssh ramesh@remote-host who
ramesh@remote-host's password: 

Si usa ssh -o "BatchMode yes", entonces hará ssh solo si el inicio de sesión sin contraseña está habilitado; de lo contrario, devolverá un error y continuará.

local-host# ssh -o "BatchMode yes" ramesh@remote-host Command

Ejecución de comandos en modo por lotes mediante SSH:caso de éxito

local-host# ssh -o "BatchMode yes" ramesh@remote-host who
..
[Note: This will display the output of remote-host's who command]

Ejecución de comandos en modo por lotes usando SSH — Caso de falla

local-host# ssh -o "BatchMode yes" ramesh@remote-host who
Permission denied (publickey,password).

Nota: Si no usó -o "BatchMode sí", el comando anterior habría solicitado la contraseña de mi cuenta en el host remoto. Esta es la diferencia clave en el uso de la opción yes de BatchMode.

2. Ejemplo de uso de la opción scp -B

Si usa la opción scp -B, ejecutará scp solo si el inicio de sesión sin contraseña está habilitado; de lo contrario, saldrá inmediatamente sin esperar la contraseña.

$ scp -B file root@IP:PATH

SCP en modo por lotes:caso exitoso

local-host# scp -B /etc/yp.conf ramesh@remote-host:/tmp
yp.conf            100%   84     0.1KB/s   00:00

SCP en modo por lotes:caso de falla

En este ejemplo, si scp es posible sin autenticación, el comando se ejecutará; de lo contrario, saldrá como se muestra a continuación.

local-host# scp -B /etc/yp.conf ramesh@remote-host:/tmp
Permission denied (publickey,password).
lost connection

Linux
  1. Cómo deshabilitar el inicio de sesión SSH con contraseña

  2. Cómo realizar SSH y SCP sin contraseña de SSH2 a OpenSSH

  3. CentOS/RHEL:Cómo deshabilitar/habilitar el inicio de sesión ssh de usuario root y no root directo

  4. Cómo configurar las claves SSH para el inicio de sesión ssh "sin contraseña" en Linux

  5. ¿Cómo volver a scp a local cuando ya he ingresado a la máquina remota?

Cómo configurar el inicio de sesión sin contraseña SSH en CentOS 8 / RHEL 8

¿Cómo configurar el inicio de sesión SSH sin contraseña usando ssh-keygen?

Cómo configurar el inicio de sesión sin contraseña SSH en Rocky Linux

Cómo configurar el inicio de sesión sin contraseña SSH en AlmaLinux

Realice SSH y SCP sin ingresar la contraseña en openSSH

Consejos de Ubuntu:cómo iniciar sesión sin ingresar el nombre de usuario y la contraseña