ssh-agentなしでSSHキーをどのようにロック解除できますか?この問題をどのように解決できますか?

ssh-agentなしでSSHキーをどのようにロック解除できますか?この問題をどのように解決できますか?

私はほぼ毎日使用するSSHキーを持っていますが、最近長い間ロックを解除していないことを発見しました。私はいつもコンピュータをシャットダウンしないので、サーバーにアクセスするときにssh-agentがすでに実行されていることがよくあります。しかし、実際にパスワードを聞いたことがないことを確認しました。

少し精神が混乱しているようです...

  • ps aux | grep agent走る姿は見えませんssh-agent
  • ssh-keygen -yパスワードを要求しましたが、予期したパスワードが機能しませんでした。
  • ssh [email protected]今接続してください。

一時的ですが、現時点では特に敏感なことはありません。

ここで何を探すべきですか?再起動後もパスワードなしでキーはどのように機能しますか?私はここで何かをしていると仮定していますが、私がしたことをどうやって知ることができますか?

コメントによると、実行しましたが何も返されませんでしたecho $SSH_AUTH_SOCKので、何をオンにしたのかわかりません。/run/user/1000/keyring/sshlsof /run/user/1000/keyring/ssh

私の鍵がロック解除されないようにするにはどうすればよいですか?

ベストアンサー1

私も同じ混乱を経験し、何が起こっているのかを知ることができました。

ssh-agentまず、自動的に実行される理由を知りたかったので、psこのfフラグを使用して他のプロセスが分岐(生成)されたものが何であるかを確認しましたssh-agent

ps auxf | grep ssh-agent -C3

結果:

foobar      4478  0.0  0.0 602792  7748 ?        SLl  Jun07   0:01 /usr/bin/gnome-keyring-daemon --daemonize --login
foobar    576058  0.0  0.0   7492  4872 ?        S    01:24   0:00  \_ /usr/bin/ssh-agent -D -a /run/user/1000/keyring/.ssh

gnome-keyring-daemon次に(結果プロセス)調査ssh-agentし、次のWikiページを見ました。

https://wiki.gnome.org/Projects/GnomeKeyring/Ssh

デフォルトでは、GNOME Keyring DaemonはSSH-Agentの永続ユーザー固有のインスタンスをロードして、メモリー内のキーをロック解除したままにする永続ユーザー固有のサービスです。これは、SSHエージェントがセッション全体でロック解除されたすべてのキーをメモリに保持するため、別のターミナルウィンドウを開くたびにSSHキーのパスワードを退屈に入力する必要がないことを意味します。

生成されたSSHエージェントは、新しいキーファイル(文書によると、関連ファイルを含むすべての新しいファイル)を恒久的に監視します~/.ssh(サブフォルダではありません)。これは、ファイルを.pub手動で実行せずにSSHエージェントに新しいキーを自動的に追加することを意味します。新しいファイルをフォルダに入れる前と後にすべてのキーを一覧表示するためにssh-add実行すると、ssh-add -lそれが表示されます~/.ssh。すぐに自動的に表示されます。

デフォルトでは、GNOME Keyring DaemonはFedora Workstation 36(マイオペレーティングシステム)にインストールされ有効になっています。

~/.sshパスワードを入力し続けることなくパスワードで保護されたキーファイルを楽しむことができるという点で事実感謝しています。悪意のあるアプリケーションが自分のキーファイルを盗んだとしても、パスワードはssh-agentのメモリに安全に保存されているため、パスワードがわかりません。

これはまた、パスワードで保護されたSSHキーを使用して、バックグラウンドで無人で実行する必要があるタスク(スケジュールされたBorgバックアップタスクなど)を実行できることを意味します。 GNOMEキーリングデーモンの仕組みにより、ユーザーの介入なしにパスワードで保護されたキーのパスワードを自動的に復号化します。

デフォルトでは、すべてのSSHキーは「保存状態」(ディスクで暗号化されている)で保護されています。欠点はありません。

SSH接続が試行されるたびに、GNOMEキーリングデーモンはこれを次のように処理します。

  • キーを初めて使用した場合、またはパスワードがキーリングに保存されていない場合は、パスワードを使用してキーを手動でロック解除するように求められます。

鍵認証

  • パスワードを入力して[ロック解除]をクリックすると、コンピュータをログアウトまたは再起動するまでロック解除されたままになります。次にコンピュータにログインするときにキーを再使用すると、SSHパスワードを入力するように求められます。

  • 「ログインするたびに自動的にこのキーのロックを解除」を有効にすると、パスワードはプライベートGNOMEキーリングに保存され、ログインするたびに自動的にロック解除されます。キーを使用せずにすぐにキーを使用する必要がある場合は非常に便利です。 。ユーザー介入。そして、鍵は常にディスクに暗号化されているので、まだ安全です!

これは文字通りできるだけ完璧です。

PS:多くの人が話すFondoのもう一つのバリエーションがあります。キーホルダー「プロジェクトなのにこの記事を書く時点では、2018年1月(ほぼ5年前)以降にアップデートにはなりませんでした。永久に実行するのではなく、バックアップタスクのようなタスクを処理することはできませ~/.bashrcgnome-keyring-daemon。がないので、「すぐに」動作します。これは私にとって良いニュースです!

基本的に今日、私はそれがどれほど素晴らしいかを知っていましたgnome-keyring-daemon

無効にしたい場合は、私がリンクしたWikiページに指示があります。しかし、ssh-agent鍵をメモリに安全に保管する公式デーモンを正しく使用するため、理由を理解できません。多くの人がssh-agent1つの共有インスタンスを手動で起動してアクティブに保ちます。 GNOMEのキーリングデーモンは、構成や手間をかけずに簡単に提供できます。素晴らしいです!手間をかけずにセキュリティを強化するために、ディスク上のすべてのキーをパスワードで保護できます。

おすすめ記事