Verificare l'autenticazione SSH con Bash Shell Script? [duplicare]
Oct 20 2020
Devo testare l'autenticazione SSH su alcuni server. Supponiamo che gli indirizzi IP di quei server vengano salvati in un ip.txtfile
Ho scritto script simili in Python usando paramikoe netmikomodule.
Il problema ora devo provarlo da un server dove non c'è Python3 o connessione a Internet.
Pertanto, l'installazione di strumenti di terze parti o moduli Python non è un'opzione qui.
expect, sshpassinoltre, non sono disponibili.
L'unica cosa disponibile è lo script bash. È possibile farlo solo su Bash? Come passo passworda ssh?
Risposte
4 user14251572 Oct 20 2020 at 13:19
Si è possibile.
#!/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"
produzione
$ ./script.sh total 0 127.0.0.1 | SSH OK $