git 自己搭建服务器_github搭建服务器

git 自己搭建服务器_github搭建服务器1.环境:git服务器:CentOS-7.6-x86 本地客户端:window102.软件安装yuminstallgit-y3.创建一个操作系统用户git,设置密码,并为其建立一个.ssh目录。addusergitpasswdgitchmod755/home/gitsugitcdmkdir.ssh&&chmod700.sshtouch.ssh/authorized_keys&&chmod600…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

1. 环境:

  • git服务器:CentOS-7.6-x86,ip: 192.168.41.41
  • 本地客户端:window10

2. 软件安装

yum install git -y

3. 创建一个操作系统用户 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操作不了远程仓库。

4.  创建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操作。

5.  配置免密拉取远程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 生成,提示输入的按回车即可。

git 自己搭建服务器_github搭建服务器

5.2 将本地的公钥文件内容写入到远程git服务器上。

输入如下命令,期间会输入一次git账户的密码,执行成功后,后续git的操作就不需要输入密码了。

ssh-copy-id -i id_rsa.pub git@192.168.41.41

git 自己搭建服务器_github搭建服务器

至此 免密配置完成。可以正常拉取代码,上传代码了。

6 限制开发者远程登录git服务器

通过以上步骤,可以快速搭建一个具有读写权限、面向多个开发者的 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
$

 

参考官方文档:服务器上的 Git – 配置服务器

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/185756.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • html5二维动画教程,Flash二维动画制作案例教程

    html5二维动画教程,Flash二维动画制作案例教程Flash二维动画制作案例教程编辑锁定讨论上传视频《Flash二维动画制作案例教程》是2009年高等教育出版社出版的图书。书名Flash二维动画制作案例教程ISBN9787040260403页数272页出版社高等教育出版社Flash二维动画制作案例教程图书信息编辑出版社:高等教育出版社;第1版(2009年12月1日)丛书名:国家动漫游戏产业振兴基地人才培养工程指定教材平装:…

  • noip2015_noip2021复赛

    noip2015_noip2021复赛扩展欧几里得模板题。注意取模。#include<bits/stdc++.h>usingnamespacestd;#definelllonglong#definein(x)scanf("%d",&x)#definelin(x)scanf("%lld",&x)#defineout(x)printf("%d",x)#defin…

  • 前端面试CSS「建议收藏」

    前端面试CSS「建议收藏」前端面试CSS

  • Java初学之华容道游戏

    Java初学之华容道游戏

  • pycharm和Anaconda环境下安装pygame「建议收藏」

    pycharm和Anaconda环境下安装pygame「建议收藏」pycharm和Anaconda环境下安装pygamewindows系统下安装windows系统下安装1.点击windows键打开Anacondaprompt2.打开之后输入condalist可以找到pip3.然后继续输入condainstallpip等安装完成4.pip安装完成之后输入pipinstallpygame如图所示安装成功。…

  • windows 10安装sqlyog详细步骤

    windows 10安装sqlyog详细步骤sqlyog下载链接:链接:https://pan.baidu.com/s/1D_iRna8V90omfHsKHyeBtg提取码:bqht复制这段内容后打开百度网盘手机App,操作更方便哦1.下载完以后解压,双击SQLyog-12.0.9-0.x642.如下图,选择Ok3.如图,点击下一步4.选择“我接受“许可证协议”中的条款(A)”单击下一步…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号