为什么 sshd 会查看不存在的公钥文件?

为什么 sshd 会查看不存在的公钥文件?

为了让 SSH 密钥正常工作,我跟踪 sshd 授权日志,并看到以下几行:

debug1: test whether pkalg/pkblob are acceptable
debug1: temporarily_use_uid: 10144/10029 (e=0/0)
debug1: trying public key file /home/cklein/.ssh/authorized_keys
debug1: restore_uid: 0/0
debug1: temporarily_use_uid: 10144/10029 (e=0/0)
debug1: trying public key file /home/cklein/.ssh/authorized_keys2
debug1: restore_uid: 0/0
Failed publickey for cklein from 192.168.8.165 port 46583 ssh2

但如果我检查/home/cklein/.ssh/目录,它看起来像这样:

$ ls -al /home/cklein/.ssh/
total 16
drwx------. 2 cklein infoarch 4096 May  3 16:39 .
drwxr-x--x. 9 cklein infoarch 4096 May  3 16:39 ..
-rw-------. 1 cklein infoarch  605 May  3 16:39 authorized_keys
-rw-r--r--. 1 cklein infoarch  226 Apr  4 16:11 known_hosts

我曾经authorized_keys2在该目录中有一个文件,但将其删除并重新启动sshd。为什么它仍然期望该文件存在?

另外,您对公钥被拒绝的原因有任何猜测吗?

答案1

.ssh/authorized_keys默认情况下,OpenSSH 服务器将在和中寻找授权密钥,除非您在配置文件中.ssh/authorized_keys2为设置了不同的值。AuthorizedKeysFile/etc/ssh/sshd_config

对于其余的,我在目录列表中看不到任何关键文件。您使用ssh-keygen命令生成了一个吗?

相关内容