Git—记录一次自建git服务器和客户端的过程

2022-11-09 11:58:41 浏览数 (1)

大家好,又见面了,我是你们的朋友全栈君。

系统

  1. Windows 10 64Bit
  2. CentOS 7(服务器)

步骤

服务器部分

新建用户
代码语言:javascript复制
useradd git
groupadd git(如果已经存在,就不用理会了)
cd /home/git
mkdir .ssh
touch authorized_keys
yum install -y git
安装git
代码语言:javascript复制
yum install -y git
建立仓库

找个认为合适的位置

代码语言:javascript复制
mkdir /gitrepo
cd /gitrepo
git init --bare test.git
cd /
chown -R git:git gitrepo

客户端部分

安装git

到这里下载 然后正常安装就行

配置生成key用于免密码克隆

运行Git Bash
生成秘钥并克隆
代码语言:javascript复制
cd ~/.ssh
ssh-keygen -t RSA -C "xxx@163.com" #接下来的步骤,直接回车就好
ssh root@ip地址 'cat >> /home/git/.ssh/authorized_keys' < ~/.ssh/id_rsa.pub #把秘钥放到服务器去
git clone git@ip地址:/gitrepo/test.git

问题后记

在秘钥这件事情上,确实废了不少功夫,比较曲折,正常我把秘钥放到服务器的/home/git/.ssh/authorized_keys之后讲道理就应该可以了,但是我的就是不生效,用crt也连接不上,后来我就怀疑是不是git这个账户名比较特殊,我就新建了一个账户(随便的一个账户,比如叫test),然后把/home/git/.ssh复制到/home/test/.ssh中,并且chown -R test:teset .ssh,然后用crt也能用test这个账户登录,然后我把/home/git/.ssh删除,从test拷贝过去,然后就神奇的生效了,不明白,有高手麻烦留言说明一下,不胜感激额。

当然,有时候还需要更改一下ssh的配置

代码语言:javascript复制
vim /etc/ssh/sshd_config
#把下面的内容写进去
RSAAuthentication yes
PubkeyAuthentication yes

# The default is to check both .ssh/authorized_keys and .ssh/authorized_keys2
# but this is overridden so installations will only check .ssh/authorized_keys
AuthorizedKeysFile .ssh/authorized_keys

致谢

https://www.liaoxuefeng.com/wiki/896043488029600 https://www.runoob.com/git/git-server.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/185860.html原文链接:https://javaforall.cn

0 人点赞