Ubuntu服务器搭建Git服务

Ubuntu服务器搭建Git服务

1.安装git

Linux服务器系统默认应该会安装git服务,如果没有安装git,需要手动安装

未设置root密码:

beomni@gitserver:~$ sudo -i
[sudo] password for beomni:              #input beomni password

已设置root密码:

beomni@gitserver:~$sudo passwd root
设置密码
beomni@gitserver:~$su root    #切换root用户

安装完成后,可查看git版本

root@gitserver:~# apt-get install -y git    #安装Git
root@gitserver:~# git --version             #查看Git版本
git version 2.25.1

Windows系统安装git需要下载git for windows,进入官网下载:Git for Windows

双击,默认安装。

安装完成后,可以右键选择git bash,进入git命令行模式查看版本

$ git --version

2.Linux服务器创建新用户来管理git仓库

root@gitserver:~# cd /home
root@gitserver:/home# id git
id: 'git': no such user
root@girserver:/home# useradd git        #add new user git
root@gitserver:/home# passwd git         #setting git user password
New password:
Retype new password:
passwd:password updated successfully

3.创建git仓库,并将管理者变成新创建的git用户

root@gitserver:/home# mkdir -p ./git/repository/gittest.git
root@gitserver:/home# ls
beomni git
root@gitserver:/home# cd git
root@gitserver:/home/git# ls
repository
root@gitserver:/home/git# cd repository
root@gitserver:/home/git/repository# ls
gittest.git
root@gitserver:/home/git/repository# git init --bare ./gittest.git
Initialized empty Git repository in /home/git/repository/gittest.git/

root@gitserver:/home/git/repository# cd ..
root@gitserver:/home/git# ll
total 12
drwxr-xr-x 3 root root 4096 Oct 2 08:36 ./
drwxr-xr-x 4 root root 4096 Oct 2 08:36 ../
drwxr-xr-x 3 root root 4096 Oct 2 08:36 repository/
root@gitserver:/home/git# chown -R git:git repository
root@gitserver:/home/git# ll
total 12
drwxr-xr-x 3 root root 4096 Oct 2 08:36 ./
drwxr-xr-x 4 root root 4096 Oct 2 08:36 ../
drwxr-xr-x 3 git git 4096 Oct 2 08:36 repository/

root@gitserver:/home/git# apt-get install openssh-server  #安装SSH服务器


root@gitserver:/home/git# apt install net-tools           #安装网络工具
...
root@gitserver:/home/git# ifconfig -a                     #查看本地IP地址
...

4.打开Windows上的git,通过服务器IP地址克隆服务器git项目

$ cd /d
$ mkdir gittest
$ cd gittest/
$ git clone git@服务器公网IP地址:/home/git/repository/gittest.git
?yes
... password:                                 #input password
warning: Your appear to have cloned an empty repository.
$ ssh-keygen -C "your@email.com"
...:
...:
...:

此时c:\users\用户名.ssh文件夹下会多出两个文件id_rsa和id_rsa.pub.

5.在Ubuntu服务器里创建保存公钥的文件夹

root@gitserver:~# vim /etc/ssh/sshd_config
...
RASAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
...
save and restart
root@gitserver:~# sudo service sshd restart
root@gitserver:~# cd /home/git
root@gitserver:/home/git# pwd
/home/git
root@gitserver:/home/git# mkdir .ssh
root@gitserver:/home/git# chown -R git:git .ssh
root@gitserver:/home/git# ll -a |grep .ssh

6.windows客户端打开git bash,将公钥直接复制到.ssh/authorized_keys里

$ ssh git@服务器公网IP地址 'cat >> .ssh/authorized_keys' < ~/.ssh/id_rsa.pub

7.回到Ubuntu服务器端,查看.ssh下是否存在authorized_keys文件

root@gitserver:~# cd /home/git/.ssh/
root@gitserver:/home/git/.ssh# ll
root@gitserver:/home/git/.ssh# cat authorized_keys
root@gitserver:/home/git/.ssh# cd ..
root@gitserver:/home/git# chmod 700 .ssh
root@gitserver:/home/git# cd .ssh/
root@gitserver:/home/git/.ssh# chmod 600 authorized_keys

客户端再次clone项目,发现不需要密码

8.禁用git用户ssh登录服务器

root@gitserver:~# sudo vi /etc/passwd
#find
git:x:1001:1001::/home/git:/bin/sh
#modify
git:x:1001:1001::/home/git:/bin/git-shell

此时git用户可以正常通过ssh使用git,但无法通过ssh登录系统

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Big.Joe

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值