git push origin master:权限被拒绝(公钥)错误

Ami*_*tna 7 git amazon-ec2

我在我的amazon ec2 ubuntu服务器实例上设置了一个git repo.我一直在尝试将代码从本地计算机上推送到服务器的repo上.我遵循的步骤是:

ssh-add /path/to/myEC2publickey
Run Code Online (Sandbox Code Playgroud)

在我的EC2实例上

mkdir /path/my_project.git
cd /path/my_project.git
git init --bare
Run Code Online (Sandbox Code Playgroud)

稍后在我的localhost上,

cd the_project 
git init git add . 
git commit -m "Initial git commit message" 
git remote add origin username@hostname.com:the_project.git 
git config --global remote.origin.receivepack "git receive-pack" 
git push origin master
Run Code Online (Sandbox Code Playgroud)

由于我在执行最后一个命令(即git push origin master)时遇到Permission Deined(公钥)错误,我使用包含在论坛上的步骤设置公钥 -

ssh-keygen -t rsa -C "myemail@somedomain.com"
eval 'ssh-agent -s'
ssh-add
Run Code Online (Sandbox Code Playgroud)

我能够添加公钥但我仍然面临权限被拒绝(公钥):错误.

我是git的新手,并期待将我的所有代码转换为git repo.

任何帮助将不胜感激.

Von*_*onC 5

您似乎错过了(或未包含在描述中)的一个步骤是在服务器端发布公钥。
上载您的公共ssh密钥并将其添加到~username/.ssh/authorized_keys文件中。

另外,请先使用不带密码的私钥尝试(测试)(无需ssh将您的密钥添加到ssh代理)

最后,确保您的ssh密钥使用标准名称(id_rsaid_rsa.pub),并具有正确的保护:

最后,ssh -Tvvv username@hostname.com如果前面的步骤不能解决问题,请告诉您更多信息。