大家好,又见面了,我是你们的朋友全栈君。
系统
- Windows 10 64Bit
- 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