¿Verifica la autenticación SSH con Bash Shell Script? [duplicar]
Oct 20 2020
Necesito probar la autenticación SSH en algunos servidores. Digamos que las direcciones IP de esos servidores se guardan en un ip.txtarchivo
Escribí un script similar en Python usando paramikoy netmikomodule.
El problema ahora tengo que probarlo desde un servidor donde no hay Python3 o conexión a Internet.
Por lo tanto, la instalación de herramientas de terceros o módulos de Python no es una opción aquí.
expect, sshpasstampoco están disponibles.
Lo único disponible es el script bash. ¿Es posible hacer esto solo en Bash? ¿Cómo paso passwordal ssh?
Respuestas
4 user14251572 Oct 20 2020 at 13:19
Si es posible.
#!/bin/bash
hostname='127.0.0.1'
username='u'
password='p'
command='ls -l'
echo_pass="~/echo_pass"
echo "echo $password" > "$echo_pass"
chmod +x "$echo_pass" SSH_OPTIONS='-o StrictHostKeyChecking=no' DISPLAY=localhost:0.0 SSH_ASKPASS=$echo_pass
export DISPLAY
export SSH_ASKPASS
setsid ssh $SSH_OPTIONS $username@$hostname $command \
&& echo "\n $hostname | SSH OK\n" \ || echo "\n $hostname | SSH PROBLEM\n"
producción
$ ./script.sh total 0 127.0.0.1 | SSH OK $