私はコマンドssh-add
を使用してssh認証を保存しようとしています。
linux$ Sudo ssh-add /root/.ssh/id_rsa
Could not open a connection to your authentication agent.
しかし、示されているように、それはエラーを返します
いくつかの調査を行ったところ、次のリンクに示されているように、コマンドeval "ssh-agent -s"
を実行する必要があることがわかりました。 https://stackoverflow.com/questions/17846529/could-not-open-a -connection-to-your-authentication-agent/17695338#17695338
しかし、Sudoコマンドで実行するとエラーが発生しました
$ Sudo eval `ssh-agent -s`
Sudo: eval: command not found
私は何が欠けていますか?
以下から link :
幸いなことに、この問題を解決する方法があります。 Sudoには、Sudoコマンドを発行したユーザーから特定の環境変数を保持できるようにする構成オプションがあります。オプションはenv_keepと呼ばれ、次のように/ etc/sudoersファイルの設定を変更することで構成できます(常にvisudoを使用してファイルを編集します)。
visudo
Defaults env_reset
Defaults>root env_keep+=SSH_AUTH_SOCK
つまり、SSH_AUTH_SOCK変数を保持する行をDefaults env_reset行の下に追加します。次に、ファイルを保存して実行します
ssh-agent bash
ssh-add
また、キーパスフレーズを要求されることなく、非Sudoユーザーのキーを使用してサーバーにアクセスするSudoコマンドを実行できるはずです。