gitlab安装启动正常,ssk key也配置了,但使用ssh -T git@gitlab.xxxx.com测试,提示需要输入密码。
git@gitlab.xxx.com's password:
使用ssh -Tv git@gitlab.xxx.com 查看debug日志:
看下去好像是ssh key不对,一直在寻找ssh key;
重新生成ssh key,生新配置,但问题不是一样。
在服务器上手工启一个ssh 进程看下:
/usr/sbin/sshd -D -p 2222 -f /etc/ssh/sshd_config
ssh -Tv git@gitlab.xxx.com -p 2222
连接正常:
systemctl restart sshd
还是异常,猜想可能是配置没有生效。
增加了如下配置:
RSAAuthentication yes
PubkeyAuthentication yes
在/etc/systemd/system/multi-user.target.wants/sshd.service增加
问题还是存在,再想想可能存在问题的点,systemctl的环境变量???systemctl权限???
查看systemctl环境变量:
systemctl show-environment
没什么不一样的;
systemctl也是通过root启动的;那问题点在哪呢?再想想:
seliunx??? systemcl走的是seliunx权限管理;查看seliunx权限:
命令:getenforce
显示:enforcing
enforcing //强制,如果违反了策略,则无法继续操作
disabled //关闭,安全级别最低
permissive //警告,selinux有效,即使是违法策略,依旧可以继续操作,但是会有警告,查看警告信息:cat /var/log/audit/audit.log1234
修改方法:
A. 文件编辑:vim /etc/sysconfig/selinux
注:文件编辑方式完成之后,需要reboot,修改才能生效;
B. 命令修改:setenforce 0 | 1
setenforce 0 设置selinux为警告模式
setenforce 1 设置selinux为强制模式
注:命令修改是临时的,重启之后selinux将会恢复修改之前的状态;
修改重启sshd正常了,问题解决