1. 环境
Git的应用已经安装了,检查下账户,发现已经有git了。
1 2
| $ cat /etc/passwd | grep git git:x:973:973:git daemon user:/:/usr/bin/git-shell
|
2. 为Git建个Home目录吧, 顺便改个密码
1 2 3 4 5 6
| $ sudo mkdir /home/git $ sudo chown git /home/git/ $ sudo usermod -d /home/git git │[wangchi@chh ~]$ sudo usermod -d /home/git git $ cat /etc/passwd | grep git git:x:973:973:git daemon user:/home/git:/usr/bin/git-shell $ sudo passwd git
|
先换个Shell登陆
现在看着Shell是git-shell,一登陆git就报错了
1 2 3
| $ su git fatal: Interactive git shell is not enabled. hint: ~/git-shell-commands should exist and have read and execute access.
|
好吧,那就换个Shell了:
1
| $ sudo usermod -s /usr/bin/bash git
|
生成ssh密钥,以便免密登陆
1 2 3 4 5
| $ su git $ cd ~ $ mkdir .ssh $ cd .ssh $ ssh-keygen -t ed25519
|
几个回车下来,密钥就生成了。这里生成ed25519的key主要是比较安全,服务器默认用这个算法。
ssh登陆
开始用密码登陆,ssh老是登不上去,密码都输入正确了, 但仍提示"Permission denied, please try again."。后面发现sshd去掉PAM认证就可以。
不用纠结了,直接用key登陆好了。把客户机的id_ed25519.pub内容添加到git用户的~/.ssh/authorized_keys一行。
建个仓库吧
1 2 3 4 5 6
| $ cd ~ $ mkdir -p var/hexo.git $ cd var/hexo.git $ git init --bare $ ls branches config description HEAD hooks info objects refs
|
在远程主机创建第一个文件
1 2 3 4 5 6 7 8
| $ mkdir hexo $ cd hexo $ git init $ touch readme.md $ git add * $ git commit -am "read me" $ git remote add original ssh://git@www.chhwang.uk:26076/home/git/var/hexo.git $ git push --set-upsteam original master
|
好了,git可以工作了。