与 ssh 混淆-权限被拒绝(公钥)

与 ssh 混淆-权限被拒绝(公钥)

如何在 Debian 上正确设置 open-ssh。我已一切正常 - 使用身份验证密钥登录(PasswordAuthentication 设置为否),然后突然出现权限被拒绝(公钥)。所以我卸载了服务器和远程客户端上的 ssh。然后我陷入了困境——重新安装无法在 root 或用户级别设置 .ssh 目录。

历史:

我以 root 身份在我的服务器上安装了 open-ssh 我以 root 身份在我的远程客户端电脑上安装了 open-ssh

我以 root 身份在服务器上生成了公钥和私钥。
我以 root 身份在远程 PC 上生成了公钥和私钥

我以用户身份在服务器上的 .ssh 目录中创建了一个授权密钥文件,并将其复制到我的远程电脑的公钥中

我修改了我的 ssh 配置文件,不允许密码登录

我的问题:

您必须始终以 root 身份安装 open-ssh 吗?

如果是这样,那么这是否会传播给所有用户并授予他们接受 ssh 连接的权限?

您是以 root 身份还是以用户级别创建授权密钥文件?

我卸载了所有东西*,apt-get purge openssh-client但到处都留下了 .ssh 目录。这是 Linux 上的惯例吗?手动删除这些剩余目录可以吗?

干杯

答案1

你的理解似乎缺少了一些要素——

实际上,您确实需要以 root 身份安装 open ssh - 默认情况下,它在端口 22 上通信,该端口仅限于 root。您可能可以将其设置为在 1024 以上的非标准端口(通常为 2222)上应答。

ssh 不会“向下传播” - 它作为守护进程运行。但是,它通常会在用户主目录中查找 ~user/.ssh/authorised_keys

您通常会为系统上的每个用户创建一个authorised_keys文件。请注意,SSH 服务器也有自己的密钥,通常可以在 /etc/sshd 中找到

如果除了 SSH 内容之外没有其他内容您不需要,那么手动删除主目录中的 .ssh 密钥是安全的。保留它们也是可以的,因为客户端和服务器是两个不同的东西,但在某些情况下两者都使用相同的目录。

密钥处理 -

您通常会在客户端上创建私钥和公钥,然后将公钥添加到服务器的 ~user/.ssh/authorized_keys 中 - 您不需要在服务器上为用户生成私钥或公钥 - 除非您还希望该用户将服务器用作 ssh 客户端。

密钥通常归其所属用户所有,私钥的权限为 600。您也可以让 root 拥有密钥,但这将阻止用户更改它们。

相关内容