Santa Asked: 2020-01-03 02:46:16 +0800 CST2020-01-03 02:46:16 +0800 CST 2020-01-03 02:46:16 +0800 CST 从多台计算机通过 SSH 无密码登录 772 我试图了解通过 SSH 进行无密码登录的概念。据我了解,您在要连接 FROM 的计算机上创建 SSH 密钥对。然后将公钥复制到您将连接到的服务器。到目前为止,一切都很好?如果我在基础上错了,请纠正我... 我猜这将导致只能从我的计算机进行无密码登录(创建密钥对的地方,因为那是存在私钥的地方)。 但是,如果我希望能够从多台计算机使用无密码登录到同一台服务器呢?您是否需要在将连接到服务器的每台计算机上创建一个密钥对并将每个公钥复制到服务器?我应该怎么做? ssh ssh-keys 3 个回答 Voted Best Answer Seth 2020-01-03T03:02:50+08:002020-01-03T03:02:50+08:00 您可以对多台计算机执行该过程,也可以复制私钥。根据您的个人安全要求和工作流程,一个可能比另一个更容易或“更好”。 如果您的私钥被泄露,您需要将其从authorized_keys文件中删除和/或撤销。此外,根据您的工作流程,您可能需要为多台机器注册一个新密钥。每台机器拥有一个密钥可能会更安全,但也可能会增加管理开销。 Simon Richter 2020-01-03T13:03:30+08:002020-01-03T13:03:30+08:00 我为每个主机使用一个密钥,由于这个原因,公钥具有生成它们的主机的名称作为注释。您可以使用ssh-copy-id快速安装密钥。 如果您有很多不同的主机,最好为它准备一张智能卡和一个读卡器(有 USB 密钥卡格式的读卡器,里面有足够的空间来存放卡),这样您就可以将您的私人轻松随身携带,并确保无法复制。 John Keates 2020-01-03T19:59:10+08:002020-01-03T19:59:10+08:00 有多种“无密码”方法,一些需要复制密钥,另一些有不同的选项: SSH CA:设置 SSH CA 并将 CA 公钥分发到服务器。然后使用 SSH CA 的私钥签署公钥,以允许访问那些信任 CA 的系统。这有很多好处: 不必一遍又一遍地分发额外的密钥 您可以发布定时签名密钥以限制密钥对的有效性,从而限制密钥对的公开,所有这些都无需更改目标服务器上的任何内容 您可以通过向签名添加额外参数(例如允许使用哪些用户名)来限制用户可以执行的操作 不利的一面是,如果您无限期地签署公钥,唯一的撤消方法是创建一个新的 CA 或将每个单独系统上的特定公钥列入黑名单。 其他选项:Kerberos。这涉及到更多的设置(但由于像 FreeIPA 这样的系统很好地打包了它,所以变得更容易了)。您无需在任何地方登录,只需登录一次即可获得 Kerberos 票证。然后可以使用此票证对各种系统进行身份验证,例如网站、文件共享和 SSH 服务器。 您自己的选择: 使用简单的密钥对(私钥和公钥)。要么将私钥复制到要连接的每个系统,将公钥复制到要连接的每个系统,要么为每个系统创建唯一对,然后将每个公钥复制到要连接的每个系统。
您可以对多台计算机执行该过程,也可以复制私钥。根据您的个人安全要求和工作流程,一个可能比另一个更容易或“更好”。
如果您的私钥被泄露,您需要将其从
authorized_keys
文件中删除和/或撤销。此外,根据您的工作流程,您可能需要为多台机器注册一个新密钥。每台机器拥有一个密钥可能会更安全,但也可能会增加管理开销。我为每个主机使用一个密钥,由于这个原因,公钥具有生成它们的主机的名称作为注释。您可以使用
ssh-copy-id
快速安装密钥。如果您有很多不同的主机,最好为它准备一张智能卡和一个读卡器(有 USB 密钥卡格式的读卡器,里面有足够的空间来存放卡),这样您就可以将您的私人轻松随身携带,并确保无法复制。
有多种“无密码”方法,一些需要复制密钥,另一些有不同的选项:
SSH CA:设置 SSH CA 并将 CA 公钥分发到服务器。然后使用 SSH CA 的私钥签署公钥,以允许访问那些信任 CA 的系统。这有很多好处:
不利的一面是,如果您无限期地签署公钥,唯一的撤消方法是创建一个新的 CA 或将每个单独系统上的特定公钥列入黑名单。
其他选项:Kerberos。这涉及到更多的设置(但由于像 FreeIPA 这样的系统很好地打包了它,所以变得更容易了)。您无需在任何地方登录,只需登录一次即可获得 Kerberos 票证。然后可以使用此票证对各种系统进行身份验证,例如网站、文件共享和 SSH 服务器。
您自己的选择:
使用简单的密钥对(私钥和公钥)。要么将私钥复制到要连接的每个系统,将公钥复制到要连接的每个系统,要么为每个系统创建唯一对,然后将每个公钥复制到要连接的每个系统。