centos7安裝git踩坑記


之前自己是按照 Git 服務器搭建這篇博客來安裝git服務器的,一步步順序下來,但git clone的時候,每次都要求輸入密碼。說好的SSH免密登錄呢。前后搞了一天多才搞定,現在記錄下踩過的坑。

坑1:

那篇文章的原文:

收集所有需要登錄的用戶的公鑰,公鑰位於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用戶,所以應該再加一句:

$ chown -R git:git .ssh

坑2:

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

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

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

修改配置之后,需要重啟sshd

systemctl restart sshd.service

可以通過這個命令去測試SSH是否可連接:

 ssh -T git@192.168.1.85

然后在服務器,可以通過這個命令查看ssh狀態

systemctl status sshd.service

坑3:

ssh可以連接了,但git clone的時候,報

fatal: protocol error: bad line length character: This

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

這樣我們的 Git 服務器安裝就完成了,接下來我們可以禁用 git 用戶通過shell登錄,可以通過編輯/etc/passwd文件完成。找到類似下面的一行:
git:x:503:503::/home/git:/bin/bash
改為:
git:x:503:503::/home/git:/sbin/nologin

但就是這個nologin讓我們報錯了,應該改成:

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

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM