git的服务器搭建,如果无需权限控制,仅团队内部使用,初始化一个服务器仓库,其他人通过ssh访问这个文件夹即可。如需复杂的管理,建议使用gitlab。
yum install git -y id git useradd git su git cd mkdir .ssh && chmod 700 .ssh touch .ssh/authorized_keys && chmod 600 .ssh/authorized_keys cat /tmp/id_rsa.john.pub >> ~/.ssh/authorized_keys mkdir -p /opt/git/repo.git git init --bare /opt/git/repo.git chown -R git:git /opt/git cat /etc/shells # see if `git-shell` is already in there. If not... which git-shell # make sure git-shell is installed on your system. vim /etc/shells # and add the path to git-shell from last command chsh git # and enter the path to git-shell, usually: /usr/bin/gitshell git clone git@ip:/opt/git/repo.git
使用ssh -T git@ip 会看到一个提示
fatal: Interactive git shell is not enabled. hint: ~/git-shell-commands should exist and have read and execute access.
下面我们可定制欢迎信息,可通过git help shell查看到帮助。
创建文件 /home/git/git-shell-commands/no-interactive-login
内容如下:
#!/bin/sh printf '%s ' "Hi $USER! You've successfully authenticated, but I do not" printf '%s ' "provide interactive shell access." exit 128
配置权限:
chmod 500 /home/git -R chown git:git /home/git -R
再使用ssh -T git@ip ,提示会显示欢迎信息:
Hi git! You've successfully authenticated, but I do not provide interactive shell access.
参考:
https://www.cnblogs.com/dee0912/p/5815267.html
https://git-scm.com/book/zh/v2 - 服务器上的git
git help shell