我的SSH密钥是作为人类与我配对,还是与一台计算机上的用户帐户配对?


11

在过去的几天里,我一直在尝试熟悉SSH,我希望自己已经了解它。

但是,还有一个问题-我的密钥是与我(作为用户)相关联还是与我在计算机上的用户帐户相关联?

Answers:


8

您没有钥匙,只有钥匙对。您如何处理每种方法有很大不同。您的公共密钥可以发布在Twitter上,并可以与世界各地共享(包括骗子)。您的私钥必须受到仔细保护。

我通过SSH访问的所有服务器上都具有相同的公用密钥。

我在用于访问这些服务器的两台台式机和一台上网本上保留了相同的私钥。我还将私钥保留在USB驱动器上,以便在其他人的PC上使用(而不将其复制到他们的PC上)。我使用强密码短语来保护私钥。没有理由不能只将私钥仅保留在USB驱动器上(以及其他地方)。


2
没有别的地方吗 您应该保留备份(不过应适当保护)。
lumbric'1

8

私钥代表您的身份。在不同的机器上是否具有不同的密钥取决于您是否将“我在机器A上”和“我在机器B上”视为相同的标识。

具有单个私钥的主要优点是易于维护。您只需要在要登录的所有位置部署一个公钥,就可以从任何地方登录。

拥有多个私钥的主要优点是可以限制密钥被泄露时可能造成的损害。

例如,如果您有几台物理安全的机器以及一台笔记本电脑,那么在所有这些物理安全的机器上拥有一个公共私钥而在笔记本电脑上拥有一个不同的私钥是很有意义的。这样,如果笔记本电脑被盗,则可以使相应的公用密钥无效,并且仍然能够从其中一台物理安全的计算机登录到另一台。


5

对于ssh,密钥对(公共+私有)表示单个身份。您将受保护的私钥保留在您信任并可以保护的计算机上。您将公共密钥信息放置在您希望能够通过密钥认证远程访问的机器上。

您不应该将私钥放在不信任的机器上-因此仅复制.ssh /可能会有风险。

在要连接的计算机上,将公钥的副本放置到允许进行身份验证的特定文件(通常为.ssh / authorized_keys)中。因此,从技术上讲,您不是在任何地方复制密钥,而只是将公用密钥的内容复制到另一个文件。

假设您信任一台计算机,并且要连接12台计算机,则可以将公共密钥信息放入12台计算机上的.ssh / authorized_keys文件中。

稍后,您可能会拥有另一台完全信任的计算机。您是为该计算机创建一个新的公用/专用密钥对,然后将公用密钥复制到12个.ssh / authorized_keys文件中,还是将您的专用密钥复制到新计算机上,这完全是您的选择(此时您什么也不做)与其他12台计算机一起使用)。这取决于您对相关机器的信任程度。

对于您要实现的安全性,我尝试使用尽可能少的密钥对。

不过,您的基本前提是正确的,密钥对与您的联系比与帐户的联系更紧密(例如,您可以将同一公钥放入服务器上的3个帐户,然后从您的计算机通过ssh到其中的任何一个)单个私钥)。


1

我的密钥保护与我(作为人类)还是与本地计算机上的用户帐户更相关?

密钥与您选择将其安装到的任何用户帐户有关。

您使用的所有计算机上是否都具有相同的密钥?还是每台机器都不同?

您可以为每台计算机创建多个密钥,或者在各处使用相同的密钥;它是由你决定。哪一个没有什么不同。


“做任何你想做的”并没有那么大的帮助。
埃里克·威尔逊

@FarmBoy,直接回答“它可以以哪种方式工作”的问题,并以“可以以任何一种方式完成”,并不是一个无用的回答。
psusi 2011年

1
问题更多是“应该采用哪种方法”,因此,如果答案是“可以采用任何一种方法完成”,则最好包括各种方法的优点,以及有关如何做出决定的一些建议。
埃里克·威尔逊

@FarmBoy这不是我阅读问题的方式。我将其视为完成方式。至于哪种方法最好-没什么区别。从字面上看,这取决于您的感觉。
psusi 2011年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.