从亚马逊ec2服务器克隆git存储库我有一个奇怪的问题.它在我的一台运行ubuntu 12.04的计算机上运行没有任何问题,而在另一台使用12.10的计算机上它给我一个错误:
ssh: Could not resolve hostname ec2server: Name or service not known
fatal: The remote end hung up unexpectedly
Run Code Online (Sandbox Code Playgroud)
这就像它没有识别我的配置文件.我使用以下git命令克隆:
sudo git clone ec2server:/var/www/project.git
Run Code Online (Sandbox Code Playgroud)
要么
sudo git clone ec2xxx.compute-1.amazonaws.com:/var/www/project.git
Run Code Online (Sandbox Code Playgroud)
这两个配置文件在两台计算机上相同,位于〜./ ssh中,内容如下:
Host ec2server
Hostname ec2XXX.compute-1.amazonaws.com
User ubuntu
IdentityFile ~/.ssh/mykey.pem
Run Code Online (Sandbox Code Playgroud)
如果我用实际地址替换ec2server,我会收到以下错误:
Cloning into 'project'...
Permission denied (publickey).
fatal: The remote end hung up unexpectedly
Run Code Online (Sandbox Code Playgroud)
提前致谢.
我试图在我的共享Linux服务器上使用部署php脚本,使用他们的web-hooks功能从github.com获取一个私人仓库,这是第一次使用ssh.
本质上:每次我提交github web-hook发送一个post请求到我的php文件,我想用它来发出一个简单的git pull命令,从而保持我的服务器和github同步并意味着我有一个体面的工作流程,将帮助我停止在生产服务器上编辑内容.
我正在使用终端进行ssh连接.
我使用ssh去我的服务器并创建我的私人仓库的克隆,这很有用.
因此,我可以ssh到我的服务器并发出一个git pull完美的工作.但当然我想自动化这个过程.如果我可以让这个工作,我想对其他几个回购做同样的事情.
我已经关注创建密钥并将其添加到github.com上我的帐户部分的github指南,我可以看到密钥存在于我的主机上的/.ssh/文件夹中.私钥有chmod 600,公钥是644.我删除了这些,重新创建了新密钥,并在github上删除/重新添加了几次公钥.ssh keys
我目前有这些键:
1024 03:c4:16:45:40:77:a4:94:a4:... /home/username/.ssh/id_dsa (DSA)
2048 b3:62:87:e0:4b:39:aa:06:97... /home/username/.ssh/id_github (RSA)
Run Code Online (Sandbox Code Playgroud)
我有一个带有以下内容的/.ssh/config文件(希望github使用基于此SO答案的id_github密钥:
# Default GitHub
Host github_server
HostName github.com
user git
ForwardAgent yes
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_github
Run Code Online (Sandbox Code Playgroud)
我已更新我的.git/config以将命令更改为 git@github_server:username/repo
我已经使用了将密钥复制到authorized_keys
cat id_github.pub >> authorized_keys
Run Code Online (Sandbox Code Playgroud)
但是当我提交时,我收到一封电子邮件说permissions denied (publickey)(我的php脚本会发送成功/失败的电子邮件,并且基于此回购:
这使用了一个简单git pull的shell_exec函数,我已添加2>&1到最后进行调试.
我将命令更改为(尝试为用户添加密钥)
`ssh-add …Run Code Online (Sandbox Code Playgroud) 我想将项目上传到存储库,但问题是,当我运行命令时:
$ git push -u origin master
Run Code Online (Sandbox Code Playgroud)
它向我展示了如下内容:
Username:
Password:
error: The requested URL returned error: 403 while accessing https://github.com/sanxelsanto/books3.git/info/refs
fatal: HTTP request failed
Run Code Online (Sandbox Code Playgroud)
我该怎么做才能避免这样的错误信息?