YAMAHA のルーターの SSH での遠隔操作を expect コマンドで自動化する 2023-04-21 SSH でルーターにログインして Wake On LAN のマジックパケットを送信するのに、一度管理者に昇格してから wol send コマンドを実行する必要があって、対話型の UI なのがつらかったのだが、expect コマンドで割と簡単に自動化できた。 addr=00:00:00:00:00:00 password=$(op item get --fields=password ...) host=.netvolante.jp port=20022 expect -f - <<EOS set timeout 10 spawn ssh -p "$port" "$host" expect "> " send "administrator\n" expect "Password: " send "$password\n" expect "# " send "wol send lan1 $addr\n" expect "# " send "exit\n" expect "> " send "exit\n" EOS 動作確認は NVR510 で行った。 パスワードは 1Password で管理しているので、1Password CLI で取ってくるようにした。macOS の Keychain を使うとかもよさそう。 Please enable JavaScript to view the comments powered by Disqus.