搭建好Gitea后准备通过ssh同步代码(ssh不需要每次输入密码),然而git要求我输入密码,可是我已经设置好密钥了啊,于是使用ssh -T git@xxxx.com -p xxxx来测试同样要求输入密码,三次密码不对提示Permission denied (publickey,password).

首先要测试你的密钥是否正常工作,因为我的这组密钥在GitHub和码云都能正常工作,于是考虑是服务器的问题。

进入Gitea后台,检查SSH配置

SSH配置

确认是启用的,不使用内置服务器(因为服务器本来就有ssh服务器了,没必要开两个浪费内存)

确认端口监听端口都和服务器的SSH端口相同

于是进入服务器检测SSH服务器配置:vim /etc/ssh/sshd_config

在里面发现一条配置:

1
2
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.

评论