Bashシェルスクリプトを使用してSSH認証を確認しますか?

Bashシェルスクリプトを使用してSSH認証を確認しますか?

複数のサーバーでSSH認証をテストする必要があります。このサーバーのIPアドレスがip.txtファイルに保存されているとします。

私はPythonparamikoとモジュールを使ってnetmiko同様のスクリプトを書いた。

これで問題は、Python3やインターネット接続なしでサーバーでテストする必要があることです。

したがって、ここではサードパーティ製のツールやPythonモジュールをインストールすることはできません。

expectsshpassまた使用できません。

利用可能な唯一のものはbashスクリプトです。 Bashでのみこれを実行できますか?passwordSSHにどのように渡しますか?

答え1

努力するSSH_ASKPASS

人間SSH

...

SSH_ASKPASS

SSHにパスワードが必要な場合は、端末で実行すると、現在の端末からパスワードが読み込まれます。 ssh に接続された端末がないが DISPLAY と SSH_ASKPASS が設定されている場合は、SSH_ASKPASS で指定されたプログラムを実行し、X11 ウィンドウを開いてパスワードを読み込みます。これは、.xsessionまたは関連スクリプトからsshを呼び出すときに特に便利です。 (一部のシステムでは、この操作が機能するには/ dev / nullの入力をリダイレクトする必要があります。)

...

$ cat echoPass
echo passwordHere

$ cat sshSession
export SSH_ASKPASS='~/echoPass'
setsid ssh user@server

$./sshSession
user@server:~$ whoami
user
user@server:~$ 

関連情報