我为我的两台服务器创建了两个 ssh 密钥。
一个是 Ubuntu 18.04.3,另一个是 CentOS 7.7.1908。
我用腻子来连接。与 Ubuntu 的连接成功,但 CentOS 拒绝了我们的密钥。
Centos的authorized_keys与ubuntu的authorized_keys模式相同
-rw-rw-r-- 1 danny danny 398 1月 8 09:52 authorized_keys
我发现CentOS需要将权限设置为644
或600
,因为在sshd_config中,StrictModes默认值为yes。
chmod 644 ~/.ssh/authorized_keys
但 Ubuntu 服务器并没有拒绝我们的密钥。
我的问题是两个操作系统检查文件模式和所有权不同吗?
======= CentOS /var/log/secure==================
Jan 9 18:33:12 localhost sshd[57020]: Authentication refused: bad ownership or modes for file /home/danny/.ssh/authorized_keys
======添加 ls -ld //home /home/danny /home/danny/.ssh======
乌班图:
danny@danny-ubuntu:~/.ssh$ ls -ld / /home /home/danny /home/danny/.ssh
drwxr-xr-x 24 root root 4096 1月 5 21:59 /
drwxr-xr-x 4 root root 4096 1月 9 13:33 /home
drwxr-xr-x 22 danny danny 4096 1月 9 13:14 /home/danny
drwx------ 2 danny danny 4096 1月 9 17:23 /home/danny/.ssh
CentOS:
[danny@localhost .ssh]$ ls -ld / /home /home/danny /home/danny/.ssh
dr-xr-xr-x. 17 root root 224 7月 29 2018 /
drwxr-xr-x. 3 root root 19 7月 29 2018 /home
drwx------. 10 danny danny 240 1月 9 13:12 /home/danny
drwx------. 2 danny danny 150 1月 9 17:23 /home/danny/.ssh