搭建Git服务器

今天遇到将Linux配置成GitHub服务器,用远程登录访问服务器clone/push工程。记录SSH的学习。

Linux CentOS安装SSH

  1. Linux安装
[CentOS] yum install ssh
[ubuntu] sudo apt-get install ssh
  1. 登录Linux系统,打开terminal
[CentOS]rpm -qa | grep ssh

3.开启/关闭SSH服务,SSH服务一般叫做SSHD

service sshd start
service sshd restart
service sshd stop
  1. 查看是否启动22号端口
netstat -antp | grep sshd

注意看ssh启动22号端口处于监听状态才能连接这台服务器

  1. 设置SSH服务为开机启动
chkconfig sshd on

用本机连接Linux服务器

  1. 无参数运行ssh
xiejiangqiongdeMacBook-Pro:~ cc$SSH 192.168.232.150
  • 默认情况ssh会尝试用当前用户作为当前用户名来连接,上面这个用使用cc来登录192.168.232.150的Linux机器,但是如果服务器上没有cc这个用户,就没法登了呀(这也是我不管尝试我的什么密码都登不上去的原因)
  • 指定ssh的登录用户
ssh -l root 192.168.232.150
ssh root@192.168.232.150

输入服务器root的密码就可以登录了。
修改SSH默认端口22的操作和对数据压缩传送的操作

搭建Git服务器

  1. 安装git
 yum install git
  1. 创建git用户,设置用户密码
sudo adduser git
passwd git 

操作结果

  1. 初始化Git仓库
mkdir /srv/sample.git
sudo git init --bare sample.git

初始化之后的结果
其实这样就可以在本机上将工程remote到Linux服务器上了
本机克隆服务器上的工程
当前目录下生成sample的文件夹就是从服务器上clone的工程,之后就跟在GitHub上托管是一样的了。

作为GitHub托管服务器的设置

  1. 创建证书登录
    收集所有需要登录的用户的公钥,本机上的id_rsa.pub 把所有公钥导入到/home/git/.ssh/authorized_keys 文件里

    -在Linux系统上安装git指令,默认创建了/home/git

    ls -a

    并没有发现.ssh 文件呀
    找.ssh呀
    他娘的,我真奔溃,那就把本机的id_rsa.pub 放到找到的第二行的那个文件里吧,好像也没啥作用,呵呵哒,那就在/home/git 里创建一个.ssh 文件夹在 touch authorized_keys 放进去吧
    恩,可以的,效果就是用git用户克隆,不需要输入git用户连接服务器的密码。所以之前的密码设置那一步可以不需要。

    ssh git@192.168.232.150

    也不需要输入密码了。这个倒挺奇怪的。

  2. 禁用shell登录
    为啥要这样做呢

    ssh git@192.168.232.150

    结果就是:
    [git@hadoop1 ~]$
    用这个用户登录的Linux服务器,这样登了git用户的人就可以任意修改/srv/sample这个文件了。
    禁用shell登录

vim /etc/passwd

git:x:500:500::/home/git:/bin/bash
改为
git:x:500:500::/home/git:/usr/bin/git-shell
git用户可以正常通过ssh使用git,但无法登录shell,这句是为git用户指定的git-shell每次已登录就自动退出。

  1. Git仓库纯粹是为了共享,所以不让用户直接登录到服务器上去修改工作区,并且服务器上的Git仓库通常都已.git 结尾,把owner改为git
sudo chown -R git:git sample.git

总结

  1. 搭建Git服务器和本机连接服务器的方法,挺清楚的了把
  2. 方便管理公钥和控制权限用Gitosis
  3. 将mac的远程连接关掉,还是可以连接用ssh指令连接服务器的,可能关掉不允许别的机器连我的机器吧。算是一个认知的纠正。

通过搭建我的Git服务器,学习了一下ssh和复习了一下Linux命令

  • netstat -antp | grep ssh
  • ifconfig
  • rmdir 删除一个目录
    挺小的知识,熟能生巧,经常复习,望早日变得厉害~
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值