配置 ssh 公钥踩坑

今天一早晨起来发现 ssh 连接需要输入密码,又试了一下 push 服务器的 Git 仓库发现也需要输入密码,意识到 ssh 密钥挂了

今天一早晨起来有学弟求助 ssh 公钥配置不成功

发现 authorized_keys 确实写入了公钥,.ssh目录的权限确实是700,authorized_keys 文件的权限确实是600,但是 ssh 连接和 push 服务器仓库都需要输入密码,这公钥认证包是没生效的

后来无意间发现 ssh 服务器配置文件 /etc/ssh/ssh_config 中的 PubkeyAuthentication 字段的值竟然是 no

我们把它修改为 yes,之后再设置一下公钥路径就可以了

1
2
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys

最后重启一下 ssh 服务

1
sudo systemctl restart ssh

不过为什么这个服务器提供的 Ubuntu 镜像的 PubkeyAuthentication 字段的默认值是 no呢,我们不得而知)