expectについて

数十台のサーバーへ鍵を通さなければいけない時など。

psshをつかって、authorized_keysへ追記したあと。knownhostsの編集はめんどくさい。

 

expectが入っていなければ、yumでインストール

yum install expect

vi /tmp/ssh.exp

#!/usr/bin/expect
for i in `seq 0 93`

do

expect <<EOF

set timeout 1

spawn ssh root@sv${i}.example.jp

expect “connecting (yes/no)?”

send “yesn”

expect “]#”

send “exitn”

EOF

done

 

expectで評価するのは正規表現だからエスケープするように。

3 Responses to “expectについて”

  1. sugi3 より:

    expect とは関係ないですが ssh -oStrictHostKeyChecking=no で幸せになれますよ。

    パスワードログインして authorized_keys を追加する expect 処理が良いのでは。

    • admin より:

      なるほど、試してみました。便利ですね。
      ありがとうございました。

  2. 正利 より:

    いつも、参考にさせていただいてます
    pssh勉強になりました