LoginSignup
0
0

Capistranoでのデプロイ後にプロンプトへの入力文字が表示されなくなる問題への対処

Posted at

事象

capistranoでのデプロイ実行後、プロンプトに入力した文字が表示されなくなってしまうことがある。条件は以下。

  • cap deployを実行する環境のシェルがbash
  • デプロイに使用するSSH秘密鍵にパスフレーズを設定している
  • デプロイ先に複数のサーバーを設定している

原因

OpenSSHでは秘密鍵のパスフレーズを入力する際、一時的に端末(tty)オプションが変更され、ユーザーの入力を非表示にした状態でパスフレーズを入力できる。

通常は入力完了後ユーザー入力が表示されるよう端末オプションが戻されるが、
複数回パスフレーズを聞くような場合の処理がcapistranoもしくはsshkitでうまくハンドルできておらず、ユーザー入力が非表示のままの状態になってしまっていると思われる。

なお、zshの場合はコマンド完了時にシェル側で端末オプションが修正されるため発生しない。

対処

以下のコマンドで端末オプションを修正し、事象を解消することができる。

stty echo
0
0
0

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
0
0