架设Git服务器,和使用SSH连接Git服务

架设Git服务器

1:创建一个名为 ‘git’ 的用户,并为其创建一个 .ssh 目录。

$ sudo adduser git

$ su git
$ cd
$ mkdir .ssh

2:把开发者的 SSH 公钥添加到这个用户的 authorized_keys 文件中:

开发者使用:

$ ssh-keygen

$ cat /tmp/id_rsa.john.pub
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCB007n/ww+ouN4gSLKssMxXnBOvf9LGt4L
ojG6rs6hPB09j9R/T17/x4lhJA0F3FR1rP6kYBRsWj2aThGw6HXLm9/5zytK6Ztg3RPKK+4k
Yjh6541NYsnEAZuXz0jTTyAUfrtU3Z5E003C4oxOj6H0rfIF1kKI9MAQLMdpGW1GYEIgS9Ez
Sdfd8AcCIicTDWbqLAcU4UpkaX8KyGlLwsNuuGztobF8m72ALC/nLF6JLtPofwFBlgc+myiv
O7TCUSBdLQlgMVOFq1I2uPWQOkOWQAHukEOmfjy2jctxSDBQ220ymjaNsHT4kgtZg2AYYgPq
dAv8JggJICUvax2T9va5 gsg-keypair

把它们逐个追加到 authorized_keys 文件尾部:

$ cat /tmp/id_rsa.pub >> ~/.ssh/authorized_keys

3:用 --bare 选项运行 git init 来初始化一个不包含工作目录的仓库。

$ cd /opt/git
$ mkdir project.git
$ cd project.git
$ git --bare init

4:客户端

如果已经有origin使用:

$ git remote rm origin

然后:

$ cd myproject
$ git init
$ git add .
$ git commit -m 'initial commit'
$ git remote add origin git@gitserver:/opt/git/project.git
$ git push origin master

5:其它客户端

$ git clone git@gitserver:/opt/git/project.git
$ vim README
$ git commit -am 'fix for the README file'
$ git push origin master

相关推荐