おそらく関連する情報は、bitbucket用にカスタムssh構成を設定していることです。 '.ssh/config'ファイルには次のものがあります。
[ivanna@comp]$ cat ~/.ssh/config
Host bitbucket
Hostname bitbucket.org
IdentityFile /home/ivanna/.ssh/id_rsa_bitbucket
IdentitiesOnly yes
このファイルのアクセス許可は、sshに関する限り間違いなく正しいです(私は構成ファイルの他のエントリを積極的に使用しています)。リモートOriginをgitに追加したとき、bitbucket.orgの代わりにbitbucketを使用しました。
git remote add Origin bitbucket:ivanna/my-repo.git
しかし、プッシュしようとすると、次のエラーが発生します。
Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
ですから、公開鍵などを追加しなかったようですよね?しかし、私は間違いなくそうしました。さらに情報を検索すると、エラーに関するこのページが見つかります( https://confluence.atlassian.com/pages/viewpage.action?pageId=30281186 )。そして、私が彼らが言うことをして鍵をチェックするとき:
[ivanna@comp]$ ssh -T hg@bitbucket
logged in as ivanna.
You can use git or hg to connect to Bitbucket. Shell access is disabled.
うまくログインできるようです。それで...なぜ仕事をプッシュしないのですか?上記のリンクは、プロジェクト自体の権限の問題である可能性があると述べていますが、私は人々が提案したように権限を設定しましたが、何もしませんでした。誰が何が起こっているのか知っていますか?
ssh -T hg@bitbucket
あなたが使う hg@bitbucket
SSH経由でログインする場合、ただしGitに追加するリモートURLでは、ユーザー名を指定しません。構成にも1つが含まれていないため、Gitはログインに使用するユーザー名を認識しません。
URLを次のように変更します。
git remote add Origin git@bitbucket:ivanna/my-repo.git
または、SSH構成にユーザーを追加することもできます。
Host bitbucket
Hostname bitbucket.org
User git
IdentityFile /home/ivanna/.ssh/id_rsa_bitbucket
IdentitiesOnly yes
これを行った場合:
git remote add Origin bitbucket:ivanna/my-repo.git
ユーザー名以外のものとして接続する必要があることをgit
に伝えていません。これは、次のように.ssh/config
ファイルで行うことができます。
Host bitbucket
User git
Hostname bitbucket.org
IdentityFile /home/ivanna/.ssh/id_rsa_bitbucket
IdentitiesOnly yes
または、次のようなgit remote add
コマンドラインで:
git remote add Origin git@bitbucket:ivanna/my-repo.git