Linux用のcsshと呼ばれるツールがあり、Windowsで使用したいものと同じように使用できます。基本的には、同じサーバーにログインしているので、両方のウィンドウに同じものを同時に入力して、ログを確認したり、さまざまなグレープを実行したりしたいと考えています。
これは古い質問だと思いますが、PuTTY Command Senderを約5年間使用していて、いつもかなりひどいと思っていたので見つけました。今まで、代替品を探すのに十分に使用していませんでした。 puttyClusterに出くわしたばかり--- https://github.com/mingbowan/puttyCluster -そして聖なるsht、それは私が愚かなPuTTY CSで時間を無駄にしていて、maximized + "dockedを使用できないのは非現実的です" ウィンドウズ。
また、これらの代替案を見つけましたが、試していません:cputty clustershish(リンクを投稿する担当者がいませんが、グーグルで検索してください)。
Clustershまたはmtputtyの使用に加えて、単純なbashスクリプトは、sshを使用してリモートサーバーのリストにログインし、scpを使用してそれぞれにファイルをコピーし、各サーバーでスクリプトを実行できます。私はbashスクリプトの初心者なので、おそらく最も効率的または最良のオプションではありませんが、管理はかなり簡単なようです。 clustershとmtputtyの両方よりも簡単であることがわかりました。このコードをcopyFileToServers.shという名前のファイルに保存し、ipsまたはサーバー名のリストを含むserverlistファイルを作成し、./copyFileToServers.sh
と入力して実行します。
Windowsにはcygwinが必要です(これは私がこれをテストした唯一の場所です)。 sourceforgeからダウンロードできるsshpassを個別にインストールする必要があります(人々はこのパッケージを本当に嫌っていますが、すべてのサーバーでsshキーを実行するには怠惰でした)。
注意すべき点の1つは、管理するサーバーごとに、管理マシンのコマンドラインからssh user@remomte_server
を使用してログインする必要があることです。 sshpassは、リモートサーバーのsshキーの追加を手動で確認するまで機能しません。これを行う必要があるのは1回だけです。
(注:2014年7月の時点でwindows cygwinでclustershを実行できなかったため、OPが要求したことをプログラムが達成するのにどれほど良いか悪いかを実際に話すことができませんでした。)
HOSTS=./serverlist
echo "what file should be copied to the remote servers?"
read file
echo "where should the file be placed on each remote server?"
read dest
echo "what script should be run on all remote nodes?"
read remoteScript
while read line
do
if [ "${#file}" -gt 0 ]
then
sshpass -p 'password' scp $file root@$line:$dest
else
echo "skipping file copy"
fi
if [ "${#remoteScript}" -gt 0 ]
then
sshpass -p 'password' ssh root@$line 'bash -s' < $remoteScript
else
echo "skipping remoteScript execution"
fi
echo $line
done < $HOSTS
私は最近、これを簡単に行う方法を見つけました。 Excelシートを使用して、PuTTY sshログインを含むcmdコマンドを作成し、cmdウィンドウの列を超えてコピーしました。サーバーごとにコマンドをカスタマイズする必要がある場合でも、魔法のように機能します。
cmd Command ip user name password Command template
echo /snmp set enabled=yes >temp\10.10.0.9.txt| PuTTY -ssh [email protected] -pw passwd -m temp\10.10.0.9.txt 10.10.0.9 user_name passwd /snmp set enabled=yes
echo /snmp set enabled=yes >temp\10.10.0.31.txt| PuTTY -ssh [email protected] -pw passwd2 -m temp\10.10.0.31.txt 10.10.0.31 user_name2 passwd2 /snmp set enabled=yes
すべてのマシンで正確なコマンドリストを実行する場合は、それをファイルに保存し、別のシートを使用してコマンドラインバッチを生成します。
cmd Command ip user name password
PuTTY -ssh [email protected] -pw paaswd -m commands.txt 192.168.0.21 user_name paaswd
PuTTY -ssh [email protected] -pw paaswd -m commands.txt 192.168.0.22 user_name paaswd
puTTYメインフォルダー内にtempという名前のフォルダーを作成する必要があり、IPまたはPearセッションごとにファイルを保存するようにPuTTYロギングをカスタマイズする必要がある場合があります。これが私の最初の投稿なので、画像をアップロードできません。