シェルで(ウィンドウではなく)秘密鍵のパスフレーズを要求するようSSHに強制する


9

起動後に初めてSSHを使用すると、秘密鍵のロック解除パスフレーズを要求されます(これは私が期待する動作です)。しかし、それはシェルではなくウィンドウで行われます(gksudoVS と同様sudo)。これはイライラします(ウィンドウをクリックするためにマウスを使用する必要があります)、次にバグが発生することがあります(全画面でGuakeターミナルを使用することがあります。その場合、SSHウィンドウに集中できず、Xを再起動する必要があります) )。

だから、私の質問は:ウィンドウをポップするのではなく、コマンドラインでSSHに秘密鍵のパスフレーズを要求する方法はありますか?


env ssh ...はそれを行いますが、これはssh-agentを失うため、正しくありません。多分誰かが残りを理解することができます。
ジョシュア

回答:


7

おそらく、*-askpassパッケージの1つがインストールされており、SSH_ASKPASSそれに応じて環境変数が設定されています。ssh(1)を参照してください。たとえばで変数の設定を解除する~/.bashrcか、パッケージをアンインストールするとうまくいくはずです。

SSHにキーパスフレーズのグラフィカルプロンプトを使用して、逆の問題と環境に関するいくつかのヒントを伝えることも参照してください。


1
これはおそらくそうではありません。SSHはパスフレーズがない場合を除いて、常にTTYでパスフレーズを要求します(グアケ語の場合は、パスフレーズを持っていると思います)。gnome-keyring他の回答で説明したように、プロンプトはおそらく(OPのスクリーンショットで確認できます)からのものです。
ジャクジェ2017

実際、gnome-askpassウィンドウは通常のようには見えません。askpassは、テキストフィールドを使用して「OpenSSHパスフレーズを入力してください」とだけ読みます。スクリーンショットを撮ってみましたが、うまくいきません。ウィンドウは主要なイベントをキャプチャします(フルスクリーンguakeでバグを引き起こす同じ問題)。必要に応じて写真を撮ります。
Adrien Luxey 2017

@AdrienLuxey Gimpを試してください。タイムアウト後、アクティブウィンドウのスクリーンショットを撮ることができます。しかし、より重要なのは、psツリーをチェックして、誰が/何がウィンドウを呼び出しているかを確認することです。
マーフィー

3

gnome-keyringまたはその他に秘密鍵を追加すると、パスフレーズのGUIプロンプトが表示されます。この設定ではそれを取り除くことはできません。

しかしssh-agent、(を削除するgnome-keyringssh-agent、その後に開始することにより)通常のAddKeysToAgent yesオプションを使用する可能性がありますssh_config。これにより、期待どおりの動作になります。起動後、エージェントにはキーがなくなり、エージェントはキーの後に自動的に追加されます最初の使用。

同様のケースは関連する質問で説明されています:

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.