web-dev-qa-db-ja.com

sudo ssh-add /root/.ssh/id_rsaがエラーを返す

私はコマンド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

私は何が欠けていますか?

4
Mohamed KALLEL

以下から 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コマンドを実行できるはずです。

2
Mohamed KALLEL