我在ec2实例和本地机器中安装了git。 我在安装git后在ec2中使用了以下命令。
cd home/username/git
mkdir newproject.git
cd newproject.git
git init --bare
cd /var/www/html/projectname
git init
git add --all
git commit -m ”first commit”
git remote add origin username@181.177.2.11(ec2):/home/username/newproject.git
以下是我在安装git后执行的命令。
Cd /var/www/html/projectname
git init
git add --all
git commit -m ”first commit”
git remote add origin username@181.177.2.11(EC2):/home/username/newproject.git
现在,当我从本地机器提供以下命令时
git pull origin master
我遇到了错误。
Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
然后从我的本地机器上给出
git push origin master
我收到以下错误:
ssh: Could not resolve hostname ip-181.177.2.11(EC2) Name or service not known
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
注意:我通常使用key.pem文件通过ssh登录ec2。 有人指导我如何配置从本地到ec2机器的git?
答案 0 :(得分:4)
使用带有SSH的密钥文件是使用-i
选项完成的,但您不能将它与git一起使用。
解决方案是配置SSH以使用此密钥。设置在~/.ssh/config
:
Host THE_EC2_HOSTNAME_OR_IP
IdentityFile /path/to/your/key.pem
然后,当使用远程username@THE_EC2_HOSTNAME_OR_IP:/path/to/repo.git
时,它会自动使用key.pem
进行身份验证。
但请务必使用EC2实例IP或公共DNS(使用括号181.177.2.11(EC2)
,您的主机名有点奇怪)
答案 1 :(得分:0)
您需要更改ssh服务器的配置文件并重新启动服务器。
更改/ etc / ssh / sshd_config:
PasswordAuthentication yes
然后重启ssh服务器:
/etc/init.d/sshd restart
答案 2 :(得分:-1)
如@saravanan所说.. 有密码验证,以便您可以进行安全的文件传输。 转到sshd_config文件并将密码身份验证更改为yes。 然后重新启动你的ssh服务器。然后创建一个新的裸机并尝试它.. 创建新密码
sudo passwd username
这将创建一个新密码,以便您可以使用此密码而不是.pem文件。这不是唯一的方法,但它可以工作 试试吧..
答案 3 :(得分:-2)
首先,在GitHub上创建一个帐户
您需要先安装gitHub。如果Windows下载exe和Ubuntu比你需要运行
apt-get install git
以上命令将在本地计算机中设置git env
您需要配置git用户
git config --global user.name "Mayank Dwivedi"
git config --global user.email "mayank@example.com"
将名称替换为您的git名称和电子邮件ID。