Articles of git

安装gitolite而不需要公钥?

我们所有的开发人员都运行Windows工作站。 我们运行一个Linux开发服务器。 我一直想尝试在开发服务器上运行我们自己的git服务器。 经过一些研究,我已经决定试图安装gitolite 。 很多关于如何安装的教程都非常相似,我一直在关注这个 。 对我来说没什么意义的一个步骤是,它希望在客户端计算机上生成一个公钥,然后将其上传到服务器,并像这样使用它: $ gl-setup YourName.pub 我不明白这一步是什么…将有大约十几台客户端机器,我想连接和使用git回购…哪台机器是“客户端”机器? 我是否需要多次执行此步骤,每个客户机一台? 当我以后需要添加新的客户端机器时会发生什么? 为什么这一步是必要的? 我假设密钥是这样的,客户机可以通过服务器进行身份validation,而不必inputlogin名/密码? 我不能只设置一个login/密码系统,客户端工作站将使用访问git回购? 我可以只集成我们的LDAPlogin吗? 公钥是必需的吗? 另外,我们运行的是Windows工作站,而不是Linux,因此生成公钥不像安装openssl那样简单。 似乎像这样安装应该更直接…

在多用户Linux环境中的权限

这个问题已经被问了很多次了,但是我还没有find这种权限的解决scheme。 我有一个在chroot中有多个网站的VPS,每个网站都运行一个独特的用户,没有root权限。 我试图实现一个部署脚本,这是由一个主用户(不是根)运行,谁可以访问所有网站,并修改所有文件。 一个共同的团体 我通常看到的第一条build议是创build一个包含主人和所有网站用户的组。 据我了解,我将不得不将我的文件和文件夹的权限更改为770(或类似的东西,使所有者的组权限相同)。 但是,我经常会将这些权限“重置”到700次(或者类似的,组丢失权限)。 我的大多数网站都build立在Wordpress上,这可能有一些automagic安全的东西,重置过度的权限。 另外,如果开发人员在本地更改组权限并上传这些权限,则权限将会更改。 我正在寻找更稳定的解决scheme – 任何线索? 干杯:)

从svn到git(+ LDAP +密码更新+ passworded访问控制)

我们有一个SVN的设置,有一些我们不喜欢它的事情,我们喜欢它的一些事情。 我们想要转移到git,但是我们不确定到底是什么设置对我们有用。 我们目前正在使用SVN(w / Authz)+ Apache(w / WebDAV和LDAP)。 钩更新现场[像] 实时网站更新不需要额外的交互[如] 实时网站更新使用存储的密码[不喜欢] 提交需要集中密码authentication[像] 从现场更改存储的凭据提交[不喜欢] 访问控制(每个存储库)的提交[如] 上面的第5点是不断给我们填塞的。 有人从活网站提交一个提交,然后钩中断。 我们正在考虑使用gitosis / gitolite来获得访问控制,但是因为他们使用ssh密钥,所以我们不需要密码。 我们也在考虑使用git-http-backend,并使用Apache进行身份validation,但是我们是否会失去访问控制? 如果Apache需要validation,现场网站是否可以自动更新? 我们可以以某种方式将git-http-backend和gitosis / gitolite结合起来吗? 我们可以用git存储http凭证吗?

gitolite在Ubuntu 12上试图克隆gitolite-admin时总是要求input密码

经过几个小时的谷歌search和尝试(阅读本页上的几个post),我仍然不知道我做错了什么。 所以我会很高兴,如果有人能帮我这里… 我更新了Ubuntu 11.10到12.4 LTS,因此不得不将vom gitosis切换到gitolite(更新删除了弃用的gitosis包; gitosis之前很好地工作)。 我通过删除authorized_keys和后更新挂钩禁用旧gitosis安装(用户gitosis),然后按照本教程安装gitolite: http : //cisight.com/how-to-setup-git-server-using-gitolite-在-ubuntu的-11-10-precise中/ 一切都达到(包括)下面的行工作正常: gl-setup /temp/gitadmin.pub 但是,当我尝试克隆(在与我的个人用户有私钥gitadmin.pub在同一台计算机上),我被要求input密码“git”。 但是,git没有密码(我创build了一个新的git用户,如下所示: sudo adduser –system –shell /bin/sh –gecos 'git version control' –group –disabled-password –home /home/git git ) 任何人都可以帮助我,告诉我我在这里错过了什么! 谢谢! PS:从公共github回购协议中的Git clone(前一段时间git被设置为gitosis)

Git和Amazon EC2公钥被拒绝

我有/ var / html / projectfolder之前git工作,并意识到这是一个安全风险,所以我做了一个新的文件夹/项目从根文件夹,并试图复制我所做的,现在不工作。 这里是我为本地机器和EC2服务器所做的积压 Server-EC2 1.I将我的公钥添加到〜/ .ssh文件夹中的authorized_user文件中2.创build一个裸存储库 git init –bare 3.将文件夹权限更改为 sudo chgrp -R ec2-user * sudo chmod -R g+ws * 本地机器 使用git init创build一个本地仓库 触摸,添加,提交自述文件 指向原始大师ec2通过 git remote add origin ssh:// ec2-user @ remote-ip / path / to / folder 这是我的输出: Permission Denied (publickey) fatal: The remote end hung up unexpectedly

SSH隧道允许sshstream量:连接总是被拒绝

我可以访问两个服务器在工作。 服务器A托pipegit存储库,并在外部可见。 我想能够克隆到服务器A上托pipe的服务器B的存储库。 目前,我无法从服务器B SSH到服务器A.我假设防火墙阻止。 所以我试图创build一个SSH隧道后,我遇到的写作,但迄今无济于事。 从服务器A的shell: $ ssh -L 1234:localhost:22 user@server_b 这成功地login到服务器B.从那里我似乎无法做任何使用ssh : $ ssh user@localhost $ user@localhost's password: <entered correctly> $ Permission denied, please try again. $ ssh user@localhost -p 1234 $ ssh: connect to host localhost port 1234: Connection refused 试图克隆 $ git clone ssh://user@localhost:1234/path/to/repo.git/ $ ssh: connect to host localhost port […]

服务器configuration自动化:Windows Azure上的Ubuntu(+ WordPress,Nginx,Git)

我们希望了解如何自动将Ubuntu虚拟机configuration为应用程序的登台服务器,testing登台代码,然后将部署脚本部署到生产服务器(而不是通过ssh安装在登台服务器上的所有人,复制文件覆盖,手动编辑configuration等) 如果需要的话,我们可以转移到AWS,但是现在我们可以在Azure上运行 – 我们基本上可以在Azure上获得SSH访问的Ubuntu虚拟机,所以它不应该与其他configuration基于Linux的服务器的方式不同想像 我们想要的脚本基本上是: 通过SSH进入新的虚拟机 设置nginx,MariaDB,php,其他apt-get安装 从Git存储库部署我们的wordpress代码的副本 用wordpressconfiguration信息和其他信息将示例登台数据库导入MariaDB 使用cloudflare API为服务器设置DNS主机名(可选,如果需要,可以手动执行此操作) 让testing新代码的人戳一下 如果工作正常,我们希望自动将Git中的新代码推送到我们的生产服务器,而无需手动编辑wordpressconfiguration文件等等。 但是,这与通过脚本设置临时环境的问题有点分离 到目前为止我遇到的工具是这些(由于低代表代表不能提供链接) 厨师 木偶 stream浪汉 盐堆 Ansible 且具 在深入研究之前,我想知道是否有人对我们的需求有一个满意的看法。

通过URL参数select正确的反向代理

从我对git的理解来看,http / https界面很简单。 你有两个命令 – 推送和获取。 基于wireshark跟踪,抓取url显示为以下格式: /git/#path-to-repo#/info/refs?service=git-upload-pack 推送url显示为以下格式: /git/#path-to-repo#/info/refs?service=git-receive-pack /git/#path-to-repo#/git-receive-pack 我想设置nginxconfiguration,以便推到一个git后端,并从另一个(git镜像使用gitblit联合)提取。 所以我build立了一个像这样的nginxconfiguration: proxy_cache_bypass $arg_preview; location ~ (.*)git-receive-pack { proxy_pass http://#push-ip#:8080; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-Proto http; proxy_set_header X-Forwarded-Port 80; } location / { proxy_pass http://#pull-ip#:8080/; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-Proto http; proxy_set_header X-Forwarded-Port 80; } / git /#path-to-repo#/ […]

GitLab – 不接受通过SSH推送,使用HTTP?

我已经看到了这个问题的多个解决scheme,其中包括: https: //serverfault.com/questions/515395/gitlab-unable-to-push-via-ssh Gitlab不能使用SSH密钥 http://community.bitnami.com / T /无法对做-A-SSH连接到gitlab,但是-HTTP-推动和克隆是,工作/ 14939 好的,所以…我今天刚安装了GitLab。 我遵循这个手册 。 当我创build用户时,“git”正在使用,所以我决定使用“gitlab”。 如果这是一个不好的决定,我可以回去看看是什么使用“混帐”,为什么,如果我可以停下来,把它给GitLab。 基本上,当我推GitLab时,我试图使用SSH地址:[email protected]:user / repo。 当我使用“git push origin master”(源头指向上述地址)时,我要求用户input“gitlab”的密码给SSH服务器。 如果我input它,GitLab会告诉我“user / repo”似乎不是一个存储库,然后退出。 “ssh -vvvT”的输出是: C:\Users\Jake>ssh -vvvT [email protected] OpenSSH_4.6p1, OpenSSL 0.9.8e 23 Feb 2007 debug2: ssh_connect: needpriv 0 debug1: Connecting to git.redacted.com [redacted] port 22. debug1: Connection established. debug1: identity file /c/Users/Jake/.ssh/identity type -1 […]

openshift git不工作

我已经将代码上传到了我的openshift JBoss服务器,但是当我今天上传一些代码时,在浏览器中打开页面时没有任何更改。 当我使用git时,我使用这些命令: git add . –all git commit -m "newcomment2" git push 当我使用git show我得到一个奇怪的回应: error: cannot run pager: No such file or directory commit 3e1a0025bf9746fdb1e0329819f7cf79e3e8f8e4 Author: root <[email protected]> Date: Wed Oct 8 16:02:17 2014 -0400 newbloke2 diff –git a/upload.sh b/upload.sh deleted file mode 100755 index 606b8af..0000000 — a/upload.sh +++ /dev/null @@ -1,4 +0,0 @@ […]