リモートのgithubリポジトリにプッシュするには、次のターミナルコマンドを繰り返し入力する必要があります。 githubにプッシュしてから数時間かけていくつかのコードを書いてから再プッシュするには、次のコマンドを入力する必要があります。
eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_rsa
それ以外の場合は、次のエラーメッセージが表示されます。
>> git push オリジンマスター
Sign_and_send_pubkey:署名失敗:エージェント拒否操作権限が拒否されました(公開鍵)。致命的:リモートリポジトリから読み取れません。
正しいアクセス権があること、リポジトリが存在することを確認してください。
ssh-addを使ってプッシュする必要がなくなるようにするにはどうすればよいですか? ssh-addを一度だけ使うと問題が解決されると思いましたが、そうでないようです!
答え1
以下は他のものに基づいています。回答:
再起動後にパスワードを再入力する必要がないようにするには、ssh設定ファイル(通常は次の場所にあります~/.ssh/config
)に以下を追加します。Windows
%UserProfile%/.ssh/config
Host *
UseKeychain yes
AddKeysToAgent yes
IdentityFile ~/.ssh/id_rsa
答え2
SSHキーファイルをid_rsa
〜/ .ssh /ディレクトリに追加します。
ssh-addではなくコピーまたは移動を使用してそこに入れます。
これはプライベート次に始まるファイル:
-----BEGIN RSA PRIVATE KEY-----
秘密鍵ファイルがない場合は、実際にそのファイルを生成する必要があることが問題かもしれません。
- ローカルコンピュータで端末を開き、次のように入力します。 …
ssh-keygen -t rsa -C "[email protected]"
- デフォルトの場所とファイル名を適用するには、クリックするだけです。 ...メッセージが表示されたら、パスワードを入力してもう一度入力してください。 ...
- もう終わりました!
このステップは以下から始まります。https://confluence.atlassian.com/bitbucketserver/creating-ssh-keys-776639788.html
答え3
gitlabドキュメントは、ファイル/ディレクトリのアクセス許可の変更やssh-addなどの提案を試みた後、同様の問題を解決するのに役立ちました。
rsaの代わりにed25519を試してみましたか?
接続するサーバーが公開鍵で使用される暗号化タイプをサポートしていることを確認することが重要です。たとえば、私が使用したいgitlabサーバーは通常、次に格納されているキータイプをサポートしません。~/.ssh/id_dsa.pub
代わりに、ed25519またはrsa暗号化キーが必要です。 ed25519の場合、新しいキーを生成するには、次のものを使用できます。$ssh-keygen -t ed25519 -C "[email protected]"
その後、$ssh -T user@server
キーが承認され、接続が確立できることを再確認する必要があります。