リモートサーバーのSSH用Bashスクリプト、パスワードの入力を求められたら

リモートサーバーのSSH用Bashスクリプト、パスワードの入力を求められたら

複数のサーバーのリスト(約200個)にSSHでアクセスできることを確認する必要があります。私はそれらのいくつかは私の公開鍵を使ってログインでき、他のものはログインできないことを知っています(パスワードが必要です)。サーバーリストにsshを介してホスト名コマンドを実行し、結果をログファイルに保存するbashスクリプトを作成しました。しかし、パスワードを要求するサーバーにSSHで接続しようとすると、スクリプトがハングしたようです。CTRL Cこのような場合は、aを実行してリストの残りの部分を実行し続ける方法はありますか?

これは私のスクリプトです。

#!/bin/bash
for host in $(cat servers.txt)
do
        ssh -q -o "StrictHostKeyChecking=no" "$host" "hostname"
done > test.log

ベストアンサー1

おすすめ記事