今回はSSHでのログインを自動化するコマンドの記事です.
##まずは必要なパッケージをインストール
aptitude search で探します.
見つかったら,インストールしましょう.
$ aptitude search ^expect
p expect - 対話型アプリケーションの自動化
パッケージ名がわかりました.
$ sudo apt-get install expect -y
もしくは
$ sudo aptitude install expect -y
##使い方
シェルファイルの先頭には,シバンを記載しなければいけません.
そのパスをまずは探します.
$ which expect
/usr/bin/expect ←これが重要
シバンに記載するパスがわかったところで,肝心のシェルファイルの中身です.
ssh_ex.sh
#!/usr/bin/expect
set timeout 5
spawn ssh user@123.45.67.89
expect "s password:"
send "passwd\n"
interact
spwan:ターミナルに打ち込む内容を記述
→要するにコマンドです.
expect:expect以下の““で囲まれた中の表示がある場合に、以下のsendを入力する。
→パスワードを聞かれますよね?その末尾を切り取ったものです.
send:改行の\nを忘れずに
→改行が無いと,打ち込んだだけです.手打ちの場合も[Enter]押しますよね?
interact:このコマンドがなければ、ログインしても、中に入ることができない
↓↓↓↓↓↓↓↓↓↓↓
interactはspawnで作成されたジョブの標準入出力を、キーボードと画面にする。
すなわち通常の通信になる。
これで,sshは自動化できましたね.
次回はparallel-sshについて解説していきます.