自己安装过几次Git,每次都不记得怎么装,索性写个文章记录下来。
网上很多版本教学,搞下来总是不能访问远端Git,我的VPS服务器默认不是22端口的,自己整理一下吧。
还有一些用到的指令。
是否已经安装了git
#whereis git
git: /usr/bin/git /usr/share/man/man1/git.1.gz
检查git版本
#git --version
git version 1.8.3.1
安装git
#yum install -y git
添加一个git用户
#useradd git
为安全起见,禁用 git 用户的 shell 登录
#vim /etc/passwd
修改 git 用户的 shell 为 git-shell,路径使用 which git-shell 查看
#which git-shell
/usr/bin/git-shell
找到如下一行
git:x:1001:1001::/home/git:/bin/bash
修改成如下(这里看下git-shell是否在这个地方,换成这个路径)
git:x:1001:1001::/home/git:/usr/bin/git-shell
初始化一个git目录,例如/home/git下
进入到项目目录/home/git
#git init
在/home/git目录创建git仓库:
git init --bare project.git
修改远程仓库所属主和所属组
#chown -R git.git /home/git/project.git
打开git服务器的RSA认证
#vim /etc/ssh/sshd_config
找到下面3行并去掉注释
1. RSAAuthentication yes
2. PubkeyAuthentication yes
3. AuthorizedKeysFile .ssh/authorized_keys
在该用户的家目录下面保存本地用户的公钥(windows客户端生成的id_rsa.pub)
#su git
$ cd ~
$ make .ssh
$ chmod 700 .ssh
$ cd .ssh
$ touch authorized_keys
$ chmod 600 authorized_keys
在客户端本地可以测试是否可以连接到服务器的端口28332(如果你的ssh不是22)
ssh -p 28332 git@xx.xx.xx.xx
生成公钥并交给服务端(上文中提到的,服务器上authorized_keys里)
打开 git-bash,生成公钥(C:\Users\Administrator.ssh)
$ ssh-keygen -t rsa
$ ssh-keygen -t rsa -C "your@email.com"(请填你设置的邮箱地址)
在用户目录下的.ssh目录里面会生成 id_rsa, id_rsa.pub
将 id_rsa.pub 里的内容拷贝到服务器上authorized_keys里
在保存公钥的同级目录下面新建config文件指定ssh端口,和公匙文件放在一起
(VPS的可能默认ssh端口不是22的需要配置这个)
Host git
User git //服务端添加的git用户名
Hostname 10.10.1.2 //your domain name or server ip
Port 28332 //ssh 端口
IdentityFile ~/.ssh/id_rsa
这样就可以了,通过ssh://git/home/git/xy.git
来clone和push
例如:git clone ssh://git/home/git/xy.git
参考:https://blog.csdn.net/flyingfishzxf/article/details/74859560
https://www.jianshu.com/p/7445617c6857