我致命:当我尝试将代码推送到我的仓库时,验证失败.我也在我的github帐户上添加了公钥.当我这样做时:
ssh -i git@github.com
我明白了
Hi amangupta052! You've successfully authenticated, but GitHub does not provide shell access.
有人可以帮忙吗?谢谢
我已经设置了一个PHP脚本来执行GitHub拉取:
这包含在我的Github文件夹中 /home/mysite/public_html/github
github_pull.php
<?php
echo `git pull 2>&1`;
?>
Run Code Online (Sandbox Code Playgroud)
我的服务器已经拥有SSH公钥,就好像我git pull从终端执行:
ssh username@host.com
cd public_html/github
git pull
Run Code Online (Sandbox Code Playgroud)
这成功(但我必须先输入rsa 密码的密码)更新:不再需要密码(请参阅注释)
但是,当我运行时,github_pull.php我收到以下错误:权限被拒绝(publickey).致命:远程端意外挂断
SSH密钥包含在 /home/mysite/.ssh/id_rsa
我跑的时候
<?php echo `whoami`;
Run Code Online (Sandbox Code Playgroud)
它输出 mysite
我创建一个deploy用户,生成一个ssh_key,我添加id_rsa.pub作为github部署密钥.
这个deploy用户需要拉2个回购,所以我将相同的ssh_key添加到另一个repo作为部署密钥.
但github告诉我,部署密钥已经在使用中.
我不知道如何为1个用户添加2个id_rsa.pub.
我添加了额外的id_rsa_assets,但我仍然无法拉.
ssh-add .ssh/id_rsa_assets
Run Code Online (Sandbox Code Playgroud)
无法打开与身份验证代理的连接.
的.ssh /配置
Host guardians
Hostname github.com
User git
IdentityFile ~/.ssh/id_rsa
Host assets
Hostname github.com
User git
IdentityFile ~/.ssh/id_rsa_assets
Run Code Online (Sandbox Code Playgroud) 我第一次设置了gitolite.我正在遵循这些指示.
当我ssh,它看起来很好:
$ ssh -p 2222 gitolite@debian
PTY allocation request failed on channel 0
hello gitolite, this is gitolite@debian running gitolite3 v3.5.3.1-1-gf8776f5 on git 1.7.2.5
R W gitolite-admin
R W testing
Connection to debian closed.
Run Code Online (Sandbox Code Playgroud)
但是在尝试克隆时,它会给我以下错误:
$ git clone ssh://gitolite@debian:2222/home/gitolite/repositories/gitolite-admin.git
Cloning into 'gitolite-admin'...
FATAL: R any home/gitolite/repositories/gitolite-admin gitolite DENIED by fallthru
(or you mis-spelled the reponame)
fatal: The remote end hung up unexpectedly
Run Code Online (Sandbox Code Playgroud)
我正试图从yasin @ vonneumann帐户克隆.我将此用户RSA公钥上传到debian服务器,将其重命名为gitolite.pub并运行gitolite setup -pk gitolite.pub …
我有多台计算机在同一个项目上工作,我正在使用免费的assembla git repo帐户来管理所有这些.
为了访问git repo,我需要在每台计算机上生成唯一的SSH密钥.但是,计算机也可能正在处理其他的assembla项目,因此每当我生成一个新的ssh密钥时就会出现冲突(就像我必须继续替换id_rsa文件).一旦我在本地机器上重新创建id_rsa文件(并替换它们),它就会使用先前生成的ssh密钥失去对先前的assembla git项目的访问权限.
我对整个git业务都很陌生,并且在我去的时候努力学习.
我找到的东西听起来像是我问题的解决方案:"不同项目的不同SSH密钥" http://www.assembla.com/spaces/breakoutdocs/wiki/Different_SSH_keys_for_different_projects
但是,我不明白怎么做#1?它说"在$ PATH这个脚本中放置一个地方(让它的名字将是gitssh)",但我不知道"$ PATH"是什么/在哪里?
任何帮助将不胜感激.谢谢!!
我正在尝试配置Jenkins(在Windows Server 2008上运行)连接到GitLab 6.0存储库(在Linux机器上).
从我的本地Windows框中,我可以使用SSH URL克隆我的GitLab服务器上的项目.我在使用HTTP URL时遇到了一些问题,但我确实设法使用Eclipse插件使用HTTP进行身份验证.
在Jenkins项目配置屏幕上,我尝试过:
无法连接到存储库:
命令"d:\ tools\Git\bin\git.exe ls-remote -h http://myserver.domain/mygroup/myproject.git HEAD"
返回状态码128:
stdout:stderr:错误:访问时请求的URL返回错误:504
HTTP://myserver.domain/mygroup/myproject.git/info/refs服务=混帐上传包
致命:HTTP请求失败
当我在浏览器中尝试此URL时,我会获得一个身份验证弹出窗口.如果我输入我的电子邮件和密码,我可以成功下载分支和标签列表.
...好的,我应该能够在URL中指定用户名和密码,对吧?
...不:
http:// username:password@myserver.domain/mygroup/myproject.git/info/refs无效:这是一个git存储库吗?
Windows GUI在使用SSH时没有任何问题.
......詹金斯似乎并不喜欢那么多:
git@myserver.domain:MYGROUP/myproject.git
错误"请输入Git存储库"仍然存在,当我尝试保存配置时,我看到以下堆栈跟踪:
Exception: java.lang.RuntimeException: Failed to instantiate class hudson.plugins.git.GitSCM from
{"value":"2",
"userRemoteConfigs":
{"url":"git@myserver.domain:mygroup/myproject.git",
"name":"origin","refspec":""
},
"branches":{"name":""},
"includedRegions":"","excludedRegions":"","excludedUsers":"",
"localBranch":"","relativeTargetDir":"","reference":"",
"scmName":"",
"gitConfigName":"","gitConfigEmail":"",
"pruneBranches":false,"skipTag":false,"clean":false,"remotePoll":false,
"disableSubmodules":false,"recursiveSubmodules":false,
"authorOrCommitter":false,"wipeOutWorkspace":false,"ignoreNotifyCommit":false,
"useShallowClone":false,"":["","0"],
"gitTool":"Default",
"browser":{"stapler- class":"hudson.plugins.git.browser.FisheyeGitRepositoryBrowser"}
Stacktrace:
javax.servlet.ServletException:
java.lang.RuntimeException: Failed to instantiate class hudson.plugins.git.GitSCM from {...}
at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:725)
...
Caused by: java.lang.RuntimeException: Failed to instantiate class hudson.plugins.git.GitSCM …Run Code Online (Sandbox Code Playgroud)我的服务器上有Debian,Fisheye和Git.我的git回购由Fisheye管理.Fisheye部分没有认证.所有身份验证过程都由git管理.
我想使用SSH身份验证,因此当我将更改推送到服务器时,我不需要提供用户名和密码.我知道如何创建rsa密钥,但是在哪里可以在服务器上复制我的公钥?