yum install git -y
git
,设置密码,并为其建立一个 .ssh
目录。adduser git
passwd git
chmod 755 /home/git
su git
cd
mkdir .ssh && chmod 700 .ssh
touch .ssh/authorized_keys && chmod 600 .ssh/authorized_keys
说明:上述使用chmod命令设置权限的步骤一定不能漏,否则可能使用不了ssh连接到git用户,或者git操作不了远程仓库。
su git
mkdir -p /home/git/project.gi
cd /home/git/project.git/
git init --bare
说明:至此,一个git空仓库已经创建好了。 –bare参数说明:初始化一个“裸仓库”,里面没有工作区的概念,不能使用git命令操作(pull,push等);反之,不加bare参数创建的仓库(repo)就可以直接在上面进行git操作。
进行完第四步后,在window上打开git base,使用命令:git clone git@192.168.41.41:/home/git/project.git即可拉取代码,但是每一次的代码拉取到本地都需要输入密码,则我们进行一个免密拉取操作。
5.1 在window主机上,进入目录:C:\Users\你的用户名\.ssh,查看有没有id_rsa.pub公钥文件,
如果没有,则打开git base输入命令ssh-keygen生成,提示输入的按回车即可。
5.2 将本地的公钥文件内容写入到远程git服务器上。
输入如下命令,期间会输入一次git账户的密码,执行成功后,后续git的操作就不需要输入密码了。
ssh-copy-id -i id_rsa.pub git@192.168.41.41
至此 免密配置完成。可以正常拉取代码,上传代码了。
通过以上步骤,可以快速搭建一个具有读写权限、面向多个开发者的 Git 服务器。但所有的开发者都可以通过git这个账户登录你的git服务器得到一个普通的shell。如下命令:
$ ssh git@192.168.41.41
Last login: Sat May 29 20:51:05 2021
[git@python ~]$
这可能会超出我们的预期,则需要对开发者的git账户登录进行限制。
借助一个名为 git-shell
的受限 shell 工具,你可以方便地将用户 git
的活动限制在与 Git 相关的范围内。 该工具随 Git 软件包一同提供。如果将 git-shell
设置为用户 git
的登录 shell(login shell), 那么该用户便不能获得此服务器的普通 shell 访问权限。 若要使用 git-shell
,需要用它替换掉 bash 或 csh,使其成为该用户的登录 shell。 为进行上述操作,首先你必须确保 git-shell
的完整路径名已存在于 /etc/shells
文件中。使用root账户登录服务器,进行如下操作:
[root@python ~]# cat /etc/shells
/bin/sh
/bin/bash
/usr/bin/sh
/usr/bin/bash
/bin/tcsh
/bin/csh
[root@python ~]# which git-shell
/bin/git-shell
[root@python ~]# echo /bin/git-shell >> /etc/shells
[root@python ~]# cat /etc/shells
/bin/sh
/bin/bash
/usr/bin/sh
/usr/bin/bash
/bin/tcsh
/bin/csh
/bin/git-shell
[root@python ~]# chsh git -s $(which git-shell)
Changing shell for git.
Shell changed.
[root@python ~]#
这样,用户 git
就只能利用 SSH 连接对 Git 仓库进行推送和拉取操作,而不能登录机器并取得普通 shell。 如果试图登录,你会发现尝试被拒绝,像这样:
hhs@DESKTOP-8TR991O MINGW64 ~/.ssh
$ ssh git@192.168.41.41
Last login: Sat May 29 22:15:00 2021 from 192.168.41.100
fatal: Interactive git shell is not enabled.
hint: ~/git-shell-commands should exist and have read and execute access.
Connection to 192.168.41.41 closed.
hhs@DESKTOP-8TR991O MINGW64 ~/.ssh
$
当前题目:自己搭建服务器github搭建服务器
文章出自:http://www.shufengxianlan.com/qtweb/news40/467790.html
网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联