ssh-agent.serviceが実行されているのにssh-addを使用すると、エージェントへの接続中にエラーが発生するのはなぜですか?

ssh-agent.serviceが実行されているのにssh-addを使用すると、エージェントへの接続中にエラーが発生するのはなぜですか?

ssh-agentサービスはユーザーに対して有効になっており、エラーなしで実行されています。 (状態はアクティブです)。
ただし、sshを使用しようとするとエラーが発生しますCould not open a connection to your authentication agent.。なぜこれが起こるのかわかりません。以前はsshがすぐに動作し、私のキーを介してサーバーに接続できましたが、今は接続したいのですが、エラーが発生して追加して試しましたが、Permission denied (public key)これssh-addを得ました.
ここに画像の説明を入力してください。

私は問題を解決する方法を見つけて解決策を見つけましeval $(ssh-agent -s)たが、うまくいきbash、使用中で、fish環境変数を手動で設定し、毎回実行する必要があることを検索しました。以前は働いていました。自分で実行する方法を検索し、ssh-agentデーモンを有効にする必要があると検索しましたが、有効にしましたが機能しますが、bashを実行してもエラーは残ります。同じエラーです。

システム: Arch Linux

ベストアンサー1

私は問題を解決する方法を検索してeval $(ssh-agent -s)ソリューションを見つけましたが、bashでのみ機能します。魚を使っています。

ここには適用されません。これには1つを開始するコマンドがあります。新しいssh-agentのインスタンス(そしてさらに重要なのは、ssh-agentの起動時に出力する環境変数を設定すること)です。

コマンドが正しく実行されると、構文の前にコマンドの意味に焦点を当てます。ものその後、その構文をすべてのシェルに適用できます。

そこで検索してみると、環境変数を手動で設定し、毎回そうする必要があることがわかりました。

本当に毎回これをしなければなりません。

Arch Linuxが提供する.serviceには、ssh-agentがユーザー全体の環境変数を設定できるようにするオプションはありません(実際には、Package Managerが考えているのとは反対の方向に機能するPassEnvironment =があるため、この場合は何もしません) 、systemdにはこれを可能にする一般的なメカニズムさえありません。

したがって、このサービスを使用する唯一の方法は、ログインスクリプトを介してSSH_AUTH_SOCKを手動で設定することです。

それは効果がありました。

GNOME Keyring(ログイン時にssh-agent環境変数を自動的に設定できるPAMモジュールがあります)やpam_ssh(再)などの他のものを使用している可能性があります。

おすすめ記事