在 Ubuntu 桌面上,ssh 不会读取 authorized_keys 的第一行

在 Ubuntu 桌面上,ssh 不会读取 authorized_keys 的第一行

根据我的搜索,似乎没有人遇到过这个问题,所以在这里发布。在 Windows 11 Pro 上的 NAT 后面的 Hyper-V 上安装了 Ubuntu Desktop 22.04。桌面版没有预装 ssh,所以后来通过 apt 安装它,然后当我将我的 SSH 公钥复制到 VM 并尝试 ssh 到它时,密钥不起作用,ssh 一直要求我输入密码。

我的所有权限都是正确的,并且公钥被正确地复制到正确的位置。

为了使它工作,我必须在文件的第一行留空~/.ssh/authorized_keys,然后一切正常。无论我把什么公钥放到第一行,似乎都没有被读取。我检查了一下,那里没有奇怪的字符。SSH 服务器只是忽略了第一行上的内容。我以前从未见过这种情况,而且我在许多不同的发行版上做过数千次。默认 sshd 设置没有改变。有人能解释一下吗?

调试日志如下:

#when key is on first line
Jan  1 21:05:37 megak-dev-vm sshd[3949]: debug1: userauth_pubkey: publickey test pkalg ecdsa-sha2-nistp256 pkblob ECDSA SHA256:vXBAZU+zrZKurGyRQnQZ8DPCnw4dwgZ63oO6VBsw8Oc [preauth]
Jan  1 21:05:37 megak-dev-vm sshd[3949]: debug1: temporarily_use_uid: 1000/1000 (e=0/0)
Jan  1 21:05:37 megak-dev-vm sshd[3949]: debug1: trying public key file /home/megak/.ssh/authorized_keys
Jan  1 21:05:37 megak-dev-vm sshd[3949]: debug1: fd 5 clearing O_NONBLOCK
Jan  1 21:05:37 megak-dev-vm sshd[3949]: debug1: restore_uid: 0/0
Jan  1 21:05:37 megak-dev-vm sshd[3949]: debug1: temporarily_use_uid: 1000/1000 (e=0/0)
Jan  1 21:05:37 megak-dev-vm sshd[3949]: debug1: trying public key file /home/megak/.ssh/authorized_keys2
Jan  1 21:05:37 megak-dev-vm sshd[3949]: debug1: Could not open authorized keys '/home/megak/.ssh/authorized_keys2': No such file or directory
Jan  1 21:05:37 megak-dev-vm sshd[3949]: debug1: restore_uid: 0/0
Jan  1 21:05:37 megak-dev-vm sshd[3949]: Failed publickey for megak from 192.168.42.1 port 57170 ssh2: ECDSA SHA256:vXBAZU+zrZKurGyRQnQZ8DPCnw4dwgZ63oO6VBsw8Oc


#when key is on second line
Jan  1 21:15:16 megak-dev-vm sshd[4011]: debug1: userauth_pubkey: publickey test pkalg ecdsa-sha2-nistp256 pkblob ECDSA SHA256:vXBAZU+zrZKurGyRQnQZ8DPCnw4dwgZ63oO6VBsw8Oc [preauth]
Jan  1 21:15:16 megak-dev-vm sshd[4011]: debug1: temporarily_use_uid: 1000/1000 (e=0/0)
Jan  1 21:15:16 megak-dev-vm sshd[4011]: debug1: trying public key file /home/megak/.ssh/authorized_keys
Jan  1 21:15:16 megak-dev-vm sshd[4011]: debug1: fd 5 clearing O_NONBLOCK
Jan  1 21:15:16 megak-dev-vm sshd[4011]: debug1: /home/megak/.ssh/authorized_keys:2: matching key found: ECDSA SHA256:vXBAZU+zrZKurGyRQnQZ8DPCnw4dwgZ63oO6VBsw8Oc
Jan  1 21:15:16 megak-dev-vm sshd[4011]: debug1: /home/megak/.ssh/authorized_keys:2: key options: agent-forwarding port-forwarding pty user-rc x11-forwarding
Jan  1 21:15:16 megak-dev-vm sshd[4011]: Accepted key ECDSA SHA256:vXBAZU+zrZKurGyRQnQZ8DPCnw4dwgZ63oO6VBsw8Oc found at /home/megak/.ssh/authorized_keys:2
Jan  1 21:15:16 megak-dev-vm sshd[4011]: debug1: restore_uid: 0/0
Jan  1 21:15:16 megak-dev-vm sshd[4011]: Postponed publickey for megak from 192.168.42.1 port 57586 ssh2 [preauth]

相关内容