centos7安裝git踩坑記

以前本身是按照 Git 服務器搭建這篇博客來安裝git服務器的,一步步順序下來,但git clone的時候,每次都要求輸入密碼。說好的SSH免密登陸呢。先後搞了一天多才搞定,如今記錄下踩過的坑。html

坑1:

那篇文章的原文:git

收集全部須要登陸的用戶的公鑰,公鑰位於id_rsa.pub文件中,把咱們的公鑰導入到/home/git/.ssh/authorized_keys文件裏,一行一個。

若是沒有該文件建立它:

$ cd /home/git/
$ mkdir .ssh
$ chmod 700 .ssh
$ touch .ssh/authorized_keys
$ chmod 600 .ssh/authorized_keys

這邊建立的文件夾,應該受權給git用戶,因此應該再加一句:shell

$ chown -R git:git .ssh

坑2:

那篇文章沒有提修改/etc/ssh/sshd_config下的配置文件。bash

在Git服務器上首先須要將/etc/ssh/sshd_config中將RSA認證打開,即:

1.RSAAuthentication yes     
2.PubkeyAuthentication yes     
3.AuthorizedKeysFile  .ssh/authorized_keys

修改配置以後,須要重啓sshd服務器

systemctl restart sshd.service

能夠經過這個命令去測試SSH是否可鏈接:ssh

 ssh -T git@192.168.1.85

而後在服務器,能夠經過這個命令查看ssh狀態測試

systemctl status sshd.service

坑3:

ssh能夠鏈接了,但git clone的時候,報spa

fatal: protocol error: bad line length character: This

找到/etc/passwd,原文裏面是說:rest

這樣咱們的 Git 服務器安裝就完成了,接下來咱們能夠禁用 git 用戶經過shell登陸,能夠經過編輯/etc/passwd文件完成。找到相似下面的一行:
git:x:503:503::/home/git:/bin/bash
改成:
git:x:503:503::/home/git:/sbin/nologin

但就是這個nologin讓咱們報錯了,應該改爲:code

git:x:1001:1001:,,,:/home/git:/usr/bin/git-shell

附Git建立倉庫命令:

git init --bare demo.git
--將建立的庫受權給git用戶
/home/gitrepo/demo.git/ chown -R git:git demo.git
相關文章
相關標籤/搜索