私の使命は、約300台のデバイスにログインし、次のコマンドを実行して出力をファイルにコピーすることです。
SSHはログイン方法として使用でき、事前定義されたユーザー名とパスワードを提供できます。
デバイスを使用すると、エキスパートモードにログインし、事前定義されたパスワードを入力する必要があります。
$ expert
>>> provide password
$ lspci | egrep -i --color 'network|ethernet'
出力をファイルにコピー
次のスクリプトを準備しました。
#!/bin/bash
username=XXXX
passwd=XXX
cd /tmp
for host in `cat servers.txt`;
do
ssh $username@$host $passwd;
expert
echo "### $host ###" >> output.txt
lspci | egrep -i --color 'network|ethernet' >> output.txt
done
パスワードの入力を求められたら、次の情報が表示されます。
Running commands is not allowed
./fibertest.sh: line 9: expert: command not found
コマンドをリモートで実行するのではなく、ローカルコンピュータで実行しているようです。
ベストアンサー1
あなたは与えることができますpssh(並列SSHとも呼ばれる)一度試してみてください。複数のコンピュータでコマンドを実行し、ローカルフォルダから結果/出力を取得します。