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

Git—记录一次自建git服务器和客户端的过程系统Windows1064BitCentOS7(服务器)步骤服务器部分新建用户useraddgitgroupaddgit(如果已经存在,就不用理会了)cd/home/gitmkdir.sshtouchauthorized_keysyuminstall-ygit安装gityuminstall-ygit建立仓库找个认为合适的位置mkdir/gitrepocd/gitrepogitinit–baretest.gitcd/ch

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

系统

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

步骤

服务器部分

新建用户

useradd git
groupadd git(如果已经存在,就不用理会了)
cd /home/git
mkdir .ssh
touch authorized_keys
yum install -y git

安装git

yum install -y git

建立仓库

找个认为合适的位置

mkdir /gitrepo
cd /gitrepo
git init --bare test.git
cd /
chown -R git:git gitrepo

客户端部分

安装git

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

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

运行Git Bash

在这里插入图片描述

生成秘钥并克隆

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的配置

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.net/185860.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号