tou*_*ugh 4 security ssh cygwin
我有两个网站。一个网站是另一个网站的克隆。当我检查sshd_config两个站点中的文件时,它们完全相似,除了一个authorized_keys用作标识,另一个Known_keys用作标识,我希望这不是问题,因为相应地定义了路径,显示了位置和文件名公钥。
我想知道为什么我无法使用同一台机器的相同私钥登录,其公钥在两台服务器中都已启动。
我错过了一些信息吗?或者这是不可能的?
all*_*tic 10
这个问题实际上是三个独立的问题。
是否可以使用相同的密钥对对两个或多个服务器进行 SSH 访问?
是的,这是可能的,很多人(包括自己)经常这样做。没有理由以任何方式将其限制为一台服务器。我们假设您在谈论客户端密钥对而不是服务器证书。客户端密钥对验证客户端,即尝试访问 SSH 会话的机器。您绝对可以重用您的客户端密钥对,并且在其他服务器上使用您的密钥对时,一台服务器不会更明智。
是否建议对两台或多台服务器使用相同的密钥对进行 SSH 访问?
取决于你问谁,以及你的安全计划有多严格。对两个或多个远程主机使用相同的密钥对会增加风险。这些风险超出了为一台主机使用密钥对的名义风险。
任何获得您的私钥(以及私钥密码,如果适用)的人都将能够访问您的私钥验证的所有系统。然后问题就转移到攻击者知道您的私钥被验证到的所有服务器的主机名,以及将您的公钥视为授权密钥的每个主机上的用户帐户。这增加了可以在你的私钥事件的潜在危害是偷来的。
请注意,如果有人仅获得您的公钥,则不会存在身份验证风险:不管您关心的是,您最好将您的 SSH 公钥放在您的主页上。您甚至可以安全地将其发布在您的问题中,只是为了逗笑,绝对没有安全隐患。它被称为公共是有原因的。
如果您有任何理由怀疑您的私钥不是完全安全的,并且您担心如果两个系统都受到威胁,损害会更大,那么您可以创建两个私钥。但是,如果您将两个私钥存储在同一个系统上,并且它们没有密码、相同的密码,或者密码本身存储在同一位置的某处(一张纸、LastPass 等),则有两个单独的keypairs 实际上并没有增加任何安全性。但是,如果您使用全盘加密并拥有一个安全的客户端系统,那么您的私钥和密码被盗的风险相对较低。
顺便说一句,如果您使用的私钥根本没有任何密码,那么您最好不要在您的系统上做任何价值超过几美元的事情。如果您正在开展任何形式的公务、商业或其他形式的业务,在我看来,绝对有必要使用一个强大的、独特的密码,该密码不会在任何地方写下来,作为可以访问任何有价值系统的私钥。如果您要处理客户的个人信息(信用卡号等),请以 72 pt 字体和 10 倍粗体将其设置为“绝对必要”。如果您正在处理政府机密信息,请使用 5000 pt 字体和 5000 倍粗体使其“绝对必要”。
为什么我的公钥认证不起作用?
这取决于您的具体设置。您没有向我们提供有关为什么它不起作用的任何具体细节。我们需要细节。错误消息、详细日志(但省略密码、用户名和 IP 地址!),以及用于 SSH 客户端和 SSH 服务器的软件和版本列表,以及两个系统的操作系统和版本。
但是,我强烈怀疑它不起作用的原因之一是您在其中一个系统上使用了错误的文件。known_keys不用于公钥认证;它用于 SSH客户端(known_keys文件所在的客户端)缓存它连接到的服务器的公钥。您应该authorized_keys在两个系统上都使用。(感谢另一个回答你问题的人在我之前几秒钟发布了这个事实:))
known_keys并且authorized_keys是完全不同的东西。
该authorized_keys文件是您必须放置与您将用于访问服务器的私钥匹配的公钥的地方。它应该在您想要进入的服务器上。
known_keys是一个存储远程服务器指纹的文件,因此您知道如果您再次尝试连接,它确实是您期望的服务器。这是为了防止中间人攻击,在这种攻击中,有人可以欺骗远程服务器的主机名或 IP 地址,以窃取您可能认为自己连接到正确服务器的信息。当您尝试连接某个新位置时,该文件会自动创建或更新,因此请注意它与作为客户端的SSH 操作有关。如果你在你的服务器上看到这个文件,你可能试图从它连接到其他地方。
| 归档时间: |
|
| 查看次数: |
2003 次 |
| 最近记录: |