Gnomeは独自のSSHエージェントを実装していますか?

Gnomeは独自のSSHエージェントを実装していますか?

MacOSでsshを使用するときにsshエージェントにキーを追加する理由は長い間疑問に思っていましたがssh-add、Fedoraでsshを使用するときはそうではありません。エージェントが私の ~/.ssh/ ディレクトリからキーを自動的にロードするようです。この質問は時々出てきて、私は通常新しいものを見つけ、好奇心が満たされるまで調査をします。

しばらく前に、私はFedoraサーバーをローカルに設定しましたが、ssh-addそれも使用する必要があることに気づきました。その時点で、私が接続する唯一のホスト(例:github)のIDファイルを指定する設定ファイルを作成することにしました。

しばらくすると、ラックスペースにインストールされているリモートサーバーで同じ動作が見られました。このサーバーはFedoraも使用します。ただし、そのサーバーでは、sshを使用してgithubに接続するたびにsshエージェントを起動し、手動でキーを追加する必要があります。何らかの理由で、私はそこに設定ファイルを設定しておらず、今日はすべてを把握したい別の瞬間を迎えました。

今日は最長の研究セッションの一つだったと思います。以前の研究では、Gnome、より正確にはXがsshエージェントを起動し、ここにキーを追加することを学びました。当時の好奇心を満たすには十分でしたが、今日はそれがどうなるか、MacOSではなぜそうしないのか本当に知りたいです。

私はXsessionスクリプトとそれが実行されたときに埋め込まれたスクリプトを読み取るのに時間を費やし、いくつかのソースから読み取ったものを確認しました。 Xはsshエージェントを起動し、gnomeセッションスクリプトをここに渡します。そこで、基本的にXがSSHエージェントを起動することについて先に学んだことを確認しました。これがXを実行しないため、Rackspaceサーバーでエージェントを手動で起動する必要がある理由です。ローカルのFedoraサーバーが起動時にSSHエージェントを実行するように独自に設定しているようですが、これについては調査していません。

しかし、Fedora sshエージェントは既存のsshキーを取得しますが、MacOSエージェントはどのように取得するのかわかりません。どちらのオペレーティングシステムもOpenSSHの同じSSHエージェントを使用していると仮定していますが、現在はそうではありません。

この質問を読んでください必要に応じて ssh-agent に SSH キーを追加します。私が見た唯一の答えは、プロキシがプロキシにキーを事前に追加するために素晴らしいタスクを実行できることです。また、デスクトップ環境の実装では、特定のウォレットにキーがある可能性があることに具体的に言及します。これにより、gnomeには独自のプロキシ実装があると考えられます。

この時点で、私はMacOSでローカルFedoraサーバー用のキーをキーチェーンに追加したことを括弧で説明したいと思います。これにより、キーが効果的にsshエージェントにロードされ、ロックが解除されます。しばらく前にこの作業を行いましたが、Fedoraが一種のキーチェーンにキーを含めてそのようにロードする同様の作業をしていると考えました。だから今日、私はFedoraのキーチェーンの種類を調べ始めました。ついにgnome-keyringについて学びました。また、上記の質問には、gnome-keyring-daemonとssh-agentを起動する方法が記載されています。

今日の研究に戻り、私はGNOMEソースコードの研究を始めました。特にgnome-keyringプロジェクトです。プロジェクトにキーのプリロード機能があるように見えるssh-agentがあります(https://gitlab.gnome.org/GNOME/gnome-keyring/-/tree/master/daemon/ssh-agent)。これが私の質問が出てくるところです。 gnomeにはssh-agentFedoraが使用する独自の実装はありますか?この場合、FedoraシステムのOpenSSH実装はどうなりますか?

修正する:昨日この質問を投稿した後、私が使用しているFedoraシステム(サーバーではなくデスクトップ)が実際にWaylandを使用していることがわかりました。設定の「情報」セクションでは、Windowsシステムが以前にWaylandに設定されていることがわかりますが、これがXが使用されていないことを意味するかどうかはわかりません。これは多くの人にとっては明らかですが、私はこれの専門家ではありません。 WaylandもXのようにssh-agentを起動しないようです。代わりに、実際に初めて必要なときにリクエストを開始します(Gnomeでデフォルトのssh-agentタイムアウトを設定する方法)。

私の質問が多少無意味である可能性があるというコメントもコメントに記載されていますが、私は専門家ではなく、Fedoraとssh-agentの内部の仕組みを実際に知って理解している人から検証を受けたいと思います。私は間違っているかもしれないし、完全な発見ではないかもしれないという事実を受け入れたくありません。

ベストアンサー1

私が探していた確認書を次に見つけました。Gnome Keyring SSH Agent Wikiページ。具体的ssh-agentには、含まれているファイルがそのファイルがあるディレクトリのファイルをgnome-keyring自動的にロードすると指定されています。~/.ssh.pub

キーリングについてもっと知りたい場合は、この資料は素晴らしい資料です。このIT次の記事

おすすめ記事