为什么 ~/.ssh/authorized_keys 中除了用户公钥之外还有其他内容?

为什么 ~/.ssh/authorized_keys 中除了用户公钥之外还有其他内容?

我不确定我是否理解 的目的~/.ssh/authorized_keys

在我的~/.ssh目录中,我有

-rw-------  1 tomcat tomcat 1685 Nov  4  2016 authorized_keys
-rw-------  1 tomcat tomcat 1671 Nov 21  2011 id_rsa
-rw-r--r--  1 tomcat tomcat  413 Nov 21  2011 id_rsa.pub
-rw-r--r--  1 tomcat tomcat 7111 Jul 14 09:30 known_hosts

如果id_rsa.pub包含我的公钥,为什么我需要authorized_keys列出哪些人可以作为我的用户进行 SSH?那不是只有那个用户吗?

在公钥之上通过authorized_keys进行额外授权的目的是什么?

答案1

authorized_keys 文件由有权远程访问该系统上该帐户的用户的公钥组成。

一般来说,每个系统上的每个用户帐户都有一组密钥。私钥仅保存在创建它的系统上,而公钥则复制到其他系统。对于 SSH,公钥将被复制到远程系统上您帐户的authorized_keys 文件中。使用密钥比依赖密码进行 SSH 访问更方便、更安全。

想象一下,您正在设置一个远程服务器,您和其他几个人将通过该服务器上的共享帐户来操作该服务器。您将本地系统中的公钥以及其他人的公钥复制到该远程系统的authorized_keys 文件中。这将允许所有人在设置后立即通过密钥访问该远程服务器。如果您要设置许多相同的服务器,则只需将相同的authorized_keys 文件复制到每个服务器即可。如果有人离开团队,您只需从authorized_keys 文件中删除他们的公钥,他们就不再有权访问该系统。

以下是有关 SSH 的一些更一般的信息:

答案2

您在工作时的计算机上可能有一个单独的密钥,并且也允许自己使用该密钥进行访问。那么您需要在authorized_keys 文件中添加两个密钥。

相关内容