Git私服客户端免密码登录

原文链接:https://ithinkcry.cn/blog/view/detail/2c9ad8cc66e285ac0166f2204b630003

服务器搭建完GIT后,客户端使用SSH登录,这样便不用每次都输入用户名密码。
首先在客户端使用GitBash 命令生产密钥文件;
客户端是windows,在文件夹C:\Users\Administrator\.ssh(没有则新建)中打开git bash;
输入:
ssh-keygen -t rsa "这是我的密钥的注释,一般用邮件名字,[email protected]"
接下来,三个回车默认即可,第一个回车是提示,第二个第三个回车是让设置密码,既然我们决定使用免密码登录,那么此处就不输入密码,直接Enter跳过(此处的密码不是登录ssh的密码,是使用git的密码)。
如果之前已经有2个文件,那么命令会提示你是否覆盖,然后根据你自己的想法选则覆盖或者不覆盖,yes or no。
对了前提是已经配置完git的基本信息,name,email之类的此处不再解释。
完毕 文件夹下有2个文件:id_rsa,id_rsa.pub。
id_rsa是客户端的私钥,放在客户端;
id_rsa.pub是客户端对应的公钥,需要上传到git服务端。
接下来把id_rsa.pub上传到git服务端。
在服务端的git用户文件夹下,一般是/home/git,新建.ssh(如果不存在的话): 
cd /home/git
mkdir .ssh

然后进入文件夹 新建文件authorized_keys
touch authorized_keys

然后讲上传来的公钥的内容追加到authorized_keys中去
cat 你自己的路径/id_rsa.pub >> authorized_keys
这样就上传完毕了。
此时还需要重要的一步:调整权限。
我的是centos7.4:
chmod 700 /home/git/.ssh/
chmod 600 /home/git/.ssh/authorized_keys

这两个调整时为了让git可以通过ssh登录。
此时应该可以登录了,若不行,可以打开文件编辑: /etc/ssh/sshd_config 
vi  /etc/ssh/sshd_config 
将RSA认证打开:
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile  .ssh/authorized_keys

保存后,执行 service sshd restart
此时应该可以了,但是笔者的还是不行,搜索后发现一个问题 我使用root用户就可以登录,ssh [email protected]为什么使用ssh [email protected]就不可以,是不是git用户出了问题?
vi /etc/passwd 发现git的用户不是正常的git:x:1000:1000::/home/git:/bin/bash
而是 git:x:1000:1000::/var/opt/gitlab:/bin/sh,原来时gitlab搞得鬼,我之前装gitlab因为内存不够,装到一半便停了。
于是便删除gitlab:
gitlab-ctl stop
rpm -e gitlab-ce
ps aux | grep gitlab 此时查看第一行的进程,并杀掉 (是/opt/gitlab/service)
kill -9 xxxx
杀掉后,在ps aux | grep gitlab确认一遍,还有没有gitlab的进程
find / -name gitlab | xargs rm -rf 删除所有gitlab的文件
然后我删除了git这个用户:
userdel git
没关系,你原有的文件夹下的东西不会丢失。
然后重新添加用户设置密码

然后查看vi /etc/passwd,发现已经git用户已经变成正常的git:x:1000:1000::/home/git:/bin/bash
对git文件夹设置用户组chown git:git /home/git
此时就可以正常访问了
ssh -t [email protected]

原文链接:https://ithinkcry.cn/blog/view/detail/2c9ad8cc66e285ac0166f2204b630003

参考的文章有:
https://www.cnblogs.com/xj76149095/p/6381976.html
https://segmentfault.com/q/1010000000590567
https://wiki.centos.org/HowTos/Network/SecuringSSH
https://www.linuxidc.com/Linux/2013-07/87267.htm
https://www.cnblogs.com/luozx207/p/9628195.html
https://www.cnblogs.com/fly_dragon/p/8718614.html
https://yq.aliyun.com/articles/114619

你可能感兴趣的:(JAVA,linux,git,ssh)