複数のサーバーでSSH認証をテストする必要があります。このサーバーのIPアドレスがip.txt
ファイルに保存されているとします。
私はPythonparamiko
とモジュールを使ってnetmiko
同様のスクリプトを書いた。
これで問題は、Python3やインターネット接続なしでサーバーでテストする必要があることです。
したがって、ここではサードパーティ製のツールやPythonモジュールをインストールすることはできません。
expect
、sshpass
また使用できません。
利用可能な唯一のものはbashスクリプトです。 Bashでのみこれを実行できますか?password
SSHにどのように渡しますか?
答え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:~$