Verifikasi otentikasi SSH dengan Bash Shell Script? [duplikat]

Oct 20 2020

Saya perlu menguji otentikasi SSH di beberapa server. Katakanlah Alamat IP dari server tersebut disimpan dalam ip.txtfile

Saya telah menulis skrip serupa dengan Python menggunakan modul paramikodan netmiko.

Masalahnya sekarang saya sudah mengujinya dari server di mana tidak ada Python3 atau koneksi Internet.

Oleh karena itu, pemasangan alat pihak ketiga atau modul Python bukanlah pilihan di sini.

expect, sshpassjuga tidak tersedia.

Satu-satunya yang tersedia adalah skrip bash. Apakah mungkin melakukan ini di Bash sendirian? Bagaimana cara saya lolos passwordke ssh?

Jawaban

4 user14251572 Oct 20 2020 at 13:19

Iya itu mungkin.

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

keluaran

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