前言:我相信我做了功课。我尝试检查相关文件的所有权/模式,但我仍然收到错误。
我正在尝试在 GNU/Linux 上启动 SFTP 服务器。我创建了一个名为 的新用户sftp_server
,创建/home/sftp_server/.ssh
并填充/home/sftp_server/.ssh/sshd_config
了:
AuthorizedKeysFile /home/sftp_server/.ssh/authorized_keys
HostKey /home/sftp_server/.ssh/server_key
Subsystem sftp internal-sftp
PubkeyAuthentication yes
PasswordAuthentication no
ChallengeResponseAuthentication no
Port 2222
AddressFamily any
ListenAddress 0.0.0.0
ListenAddress ::
然后我将客户端的公钥添加到/home/sftp_server/.ssh/authorized_keys
.
我将服务器运行为sftp_server
:
sftp_server@system ~> /usr/bin/sshd -f /home/sftp_server/.ssh/sshd_config -D -d
并且它成功启动
debug1: sshd version OpenSSH_8.4, OpenSSL 1.1.1i 8 Dec 2020
…
Server listening on 0.0.0.0 port 2222.
但是我尝试从客户端连接到该服务器
user@DESKTOP:~$ sftp -P 2222 192.168.0.102
失败(在服务器端):
…
Authentication refused: bad ownership or modes for file /home/sftp_server/.ssh/authorized_keys
debug1: restore_uid: (unprivileged)
Failed publickey for user from 192.168.0.103 port 64450 ssh2: ED25519 SHA256:...
Connection closed by authenticating user user 192.168.0.103 port 64450 [preauth]
…
更新: 登录也sftp_server
没有帮助。
user@DESKTOP:~$ sftp -P 2222 [email protected]
服务器端失败并显示相同的错误消息。
这是一条服务器端消息,因此我假设服务器无法authorized_keys
正确访问该文件。
现有问题
两者都建议我应该正确设置所有权/模式,例如:
$ sudo chmod 0700 /home/sftp_server/.ssh
$ sudo chmod 0600 /home/sftp_server/.ssh/authorized_keys
但我已经应用了这些。
[root@system user]# ls -al /home
…
drwxr-xr-x 7 sftp_server root 4096 Mar 24 15:07 sftp_server
…
[root@system user]# ls -al /home/sftp_server
drwxr-xr-x 7 sftp_server root 4096 Mar 24 15:07 .
drwxr-xr-x 6 root root 4096 Nov 17 2018 ..
…
drwx------ 2 sftp_server sftp_users 4096 Mar 24 14:53 .ssh
…
[root@system user]# ls -al /home/sftp_server/.ssh
…
drwx------ 2 sftp_server sftp_users 4096 Mar 24 14:53 .
drwxr-xr-x 7 sftp_server root 4096 Mar 24 15:07 ..
-rw------- 1 sftp_server sftp_users 162 Mar 24 14:15 authorized_keys
-rw-r--r-- 1 sftp_server sftp_users 410 Mar 24 14:53 sshd_config
…
我在想
drwxr-xr-x
【755】为了/home/sftp_server
drwx------
(700) 为/home/sftp_server/.ssh
-rw-------
(600) 为/home/sftp_server/.ssh/authorized_keys
是正确的模式,并且它们都已正确sftp_server
设置为文件所有者。
这让我对bad ownership or modes for file
错误消息感到困惑和沮丧。
我将不胜感激任何帮助或提示。谢谢!