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…


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 – 配置服务器

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

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

赞 (0)
全栈程序员-站长的头像全栈程序员-站长

相关推荐

  • jdbc java_Springdata

    jdbc java_Springdata刚进公司,人生地不熟,偷偷藏着本《mybatis入土为安》,以为可以靠mybatis混的轻松点,谁知天有不测风云,大家用的是JPA。我这个小白没有听说过,全英文名叫,就是java持久化api,是SUN公司推出的一套基于的规范。持久化想必如雷贯耳,都0202年了,谁还不用个持久化框架啊,举起mybatis。ORM呢?全英文名为:对象关系映射,简单来说为了不用JDBC那一套原始方法来操作数据库,ORM框架横空出世(mybatis、hibernate等等)。…

    2022年10月20日
  • uniapp打包ios真机测试_苹果手机没有app可供测试

    uniapp打包ios真机测试_苹果手机没有app可供测试这里说的是数据线链接首先要给电脑上安装一个手机驱动我用的是360助手(链接如下:)http://sj.360.cn/index.html先测试手机和电脑是否能连接成功然后再HBuilderX中点击运行到手机模拟器就可以了,注意:连接手机的时候会提示手机也需要下载360手机助手(按照提示下载即可),手机上会自动安装一个HBuilder,点击进去就是自己的app手机连接的时候要选中usb调试模式…

    2022年9月6日
  • win7上ModifyStyleEx无效的解决办法

    win7上ModifyStyleEx无效的解决办法创建窗口时,指定窗口样式为WS_EX_TOOLWINDOW;创建完成之后,还要通过以下语句进一步修改窗口属性:ModifyStyleEx(WS_EX_APPWINDOW,WS_EX_TOOLWIN

    2022年7月1日
  • wamp配置虚拟机步骤

    wamp配置虚拟机步骤

    2021年10月10日
  • 中国蚁剑安装教程_剑形虹臭蚁的天敌

    中国蚁剑安装教程_剑形虹臭蚁的天敌中国蚁剑:https://www.freebuf.com/sectool/98681.htmlgithub地址:https://github.com/AntSwordProject我下载好的(这里的版本太旧了,去github下载吧):https://www.lanzous.com/b548184/密码:cbek教程:两个全部解压好(一个是源码,一个是启动文件)先…

    2022年10月21日
  • Ubuntu20.04安装中文输入法

    Ubuntu20.04安装中文输入法新装了ubuntu20.04的系统,由于装系统时,选择安装了英文的版本,因此系统没有中文输入法,此时我想加入中文输入法。在设置-语言中怎么改都没有用。最终用下面方法解决了安装中文语言包**由于我装系统时,选择了安装English版本,所以先安装了一下中文语言包。sudoapt-getupdatesudoapt-getinstalllanguage-pack-zh-hans安装输入法sudoaptinstallibus-libpinyinsudoapti

    2022年9月25日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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