1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

SSHを自動化するexpectコマンド

Last updated at Posted at 2021-08-04

今回は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について解説していきます.

1
0
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?