expectコマンドで日本語入力時に落ちる

あるサーバにSSHで自動ログインするためにexpectを利用したシェルスクリプトを作成してみました。

サーバに自動ログインするところまでは良かったのですが、ログイン後にターミナルから日本語入力をするとexpectが終了しSSHのセッションが切れる問題が発生しました。

簡単に検証した感じだと、EUC-JPだと落ちなくてUTF-8だと落ちているように見えます。もうちょっと調べる必要がありそうです。

回避策としては、

  1. サーバ管理者にSSHの公開鍵認証の設定をしてもらう
  2. sshpassを使う

ぐらいでしょうか。