![Git リモート リポジトリからプル/プッシュするたびに $("ssh-agent") を使用する必要があるのはなぜですか?](https://rvso.com/image/1592525/Git%20%E3%83%AA%E3%83%A2%E3%83%BC%E3%83%88%20%E3%83%AA%E3%83%9D%E3%82%B8%E3%83%88%E3%83%AA%E3%81%8B%E3%82%89%E3%83%97%E3%83%AB%2F%E3%83%97%E3%83%83%E3%82%B7%E3%83%A5%E3%81%99%E3%82%8B%E3%81%9F%E3%81%B3%E3%81%AB%20%24(%22ssh-agent%22)%20%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%99%E3%82%8B%E5%BF%85%E8%A6%81%E3%81%8C%E3%81%82%E3%82%8B%E3%81%AE%E3%81%AF%E3%81%AA%E3%81%9C%E3%81%A7%E3%81%99%E3%81%8B%3F.png)
リモート Gitlab リポジトリにプルまたはプッシュしようとするたびに、次のエラーが発生します。
**> sign_and_send_pubkey: 署名に失敗しました: エージェントが操作を拒否しました
権限が拒否されました (公開鍵)。致命的: リモート リポジトリから読み取れませんでした。**
私はこのエラーに対処しようとしましたが、一時的にではありますが、解決できる唯一の方法は次のコマンドを使用することです。
> $("ssh-agent") を評価する
問題は、Gitlab にプッシュ/プルするたびにこのコマンドを使用する必要があることですが、これは正常ではありません。
これはなぜですか、そしてどうすれば確実に解決できますか?
PS: 私は Ubuntu 16.04.6 を使用しています。また、SSH キーを Gitlab に正しく追加したと確信しています。
御時間ありがとうございます。
答え1
秘密鍵を ssh エージェントに追加していない可能性があります。これを行うには、次のコマンドを使用します。
eval $(ssh-agent)
ssh-add ~/.ssh/id_rsa