我确定我们都会不时收到此错误:
$ git push origin master
Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
典型的补救措施是简单地创建一个公钥/私钥对并与你的git主机共享(在我的案例中,bitbucket,与他们的instructions)
事情是,我有很多帐户要求我有一个公钥/私钥对(例如我需要保存一个密钥才能连接到AWS等等)..所以我所做的就是我创建这些键并将它们保存在单独的目录中,即
~/.ssh $ find .
./awskeys
./awskeys/id_rsa
./awskeys/id_rsa.pub
./bitbucket
./bitbucket/id_rsa
./bitbucket/id_rsa.pub
然后这个错误会不时出现..为了解决它我必须将相关的键移回根〜/ .ssh。这对我来说似乎不对。我怎样才能可靠地做到这一点?
答案 0 :(得分:5)
您可以随意使用它们,但是他们的权限和父文件夹的权限必须严格:
然后你:
~/.ssh/config file
(example here)~/.ssh/config
文件的相应条目。这意味着一个条目:
Host mygithub
User git
IdentityFile ~/.ssh/mypath/mykey # wherever your "new" key lives
IdentitiesOnly yes
允许您使用以下代码替换git@github.com:username / repo等网址:
git remote set-url origin mygithub:username/repo