¿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 $