搭建自己的GIT服务器
出于个人需要,搭建一个自己的GIT服务器是在所难免. 方便自己管理代码,也方便composer.
-
root登录服务器,新建一个用户组 && 所属该组的用户.
新建一个git用户组
groupadd -f git
# 新建一个属于git组的git用户
useradd -g git git
# 为git用户创建密码,输入两次相同密码即可
passwd git -
root新建仓库
新建一个仓库
cd /usr/local/ && mkdir git && cd git && git init --bare
# 设置仓库相关权限
cd ../ && chown -R git:git git && chmod -R 600 git -
客户端生成公钥
推荐使用git-bash
ssh-keygen -t rsa -C your@emai.com
# 一路回车即可,如果公钥已存在会提示id_rsa already exists.Overwrite(y/n)? 输入y覆盖即可
ssh-add -
服务器切换到git用户
change to 'git'
这里一定是su - git 而不是 su git
su - git
# 在git的home目录新建一个文件夹.ssh,并在该文件夹下创建一个authorized_keys文件
mkdir .ssh && chmod -R 700 .ssh
touch .ssh/authorized_keys && chmod -R 600 .ssh/authorized_keys -
复制客户端的公钥到/home/git/.ssh/authorized_keys文件中
这里只举例Windows
找到 C:\Users\YourUser.ssh\id_rsa.pub,使用文本编辑器打开,复制到服务器/home/git/.ssh/authorized_keys保存即可
-
克隆仓库并push文件
客户端
git clone ssh://git@yourdomain/usr/local/git
cd git/
touch hello.txt
echo hello world >> hello.txt
git push origin master
(已经把客户端的公钥复制到/home/git/.ssh/authorized_keys中,可以不需要输入密码)
# 可以再clone一次看看是否已经存在hello.txt,如有则成功. -
其他一些设置
出于安全考虑,git用户禁用shell登录
su - root
vim /etc/passws
# 找到git的那一行git❌1001:1001:,,,:/home/git:/bin/bash
改成
git❌1001:1001:,,,:/home/git:/usr/bin/git-shell
以上内容均来自网络,本人只是整合以及记录笔记.如有不明,可以留言或者联系我
Everything do yourself

浙公网安备 33010602011771号