搭建好Gitea后准备通过ssh同步代码(ssh不需要每次输入密码),然而git要求我输入密码,可是我已经设置好密钥了啊,于是使用
ssh -T git@xxxx.com -p xxxx
来测试同样要求输入密码,三次密码不对提示Permission denied (publickey,password).
。
首先要测试你的密钥是否正常工作,因为我的这组密钥在GitHub和码云都能正常工作,于是考虑是服务器的问题。
进入Gitea后台,检查SSH配置
:
确认是启用的,不使用内置服务器(因为服务器本来就有ssh服务器了,没必要开两个浪费内存)
确认端口
和监听端口
都和服务器的SSH端口相同
于是进入服务器检测SSH服务器配置:vim /etc/ssh/sshd_config
在里面发现一条配置:
1 | AllowGroups root ssh |
使用groups git
检查了一下发现git
用户不在ssh
组里
使用以下命令把git
用户添加到ssh
组里:
1 | usermod -G ssh git |
回到电脑上用ssh -T git@xxxx.com -p xxxx
测试成功!
1 | Hi there, XXX! You've successfully authenticated with the key named XXXXXXX, but Gitea does not provide shell access. |