Verificar a autenticação SSH com Bash Shell Script? [duplicado]

Oct 20 2020

Preciso testar a autenticação SSH em alguns servidores. Digamos que os endereços IP desses servidores sejam salvos em ip.txtarquivo

Escrevi um script semelhante em Python usando paramikoe netmikomódulo.

O problema agora é testá-lo em um servidor onde não há Python3 ou conexão com a Internet.

Portanto, a instalação de ferramentas de terceiros ou módulos Python não são uma opção aqui.

expect, sshpasstambém não estão disponíveis.

A única coisa disponível é o script bash. É possível fazer isso no Bash sozinho? Como faço passwordpara passar para o ssh?

Respostas

4 user14251572 Oct 20 2020 at 13:19

Sim é possivel.

#!/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"

resultado

$ ./script.sh total 0 127.0.0.1 | SSH OK $