Ser*_*rov 13 security physical-security
在旅途中使用 SSH 从酒店连接到服务器真的安全吗?
服务器:
- CentOS 7
- 仅通过 RSA 密钥授权 - 密码认证被拒绝
- 非标准端口
工作站:
- Ubuntu 14
- 用户密码
- 使用 RSA 密钥的密码(标准方法)
也许将一半的私有 RSA 密钥保留在 USB 记忆棒上是个好主意,并在连接之前自动(通过脚本)将此一半添加到 ~/.ssh/private_key 中?
互联网将通过酒店的 WIFI 或租来的公寓中的电缆进行。
UPD
抱歉一开始不清楚。我在这里的意思是两个方面的安全性:
and*_*dol 26
因此,关于通过显式不受信任的连接建立 ssh 连接。
假设您已经有一个来自先前连接的 ~/.ssh/known_hosts 条目,是的,您应该能够连接而无需担心网络是否安全。如果您有其他方法来验证 ssh 主机密钥,情况也是如此。
如果您以前从未连接到服务器,也没有任何其他方法来验证 ssh 主机密钥,那么您可能需要更加小心用于连接的网络。
Dam*_*lli 11
在您问题的第二部分中,您似乎担心您的笔记本被盗,并担心您的无密码 SSH 登录到您的服务器的私钥会被盗。
请注意,这可以通过存储使用“密码”“加密”的私钥轻松解决(私钥问题):它们可以在最初加密,同时使用ssh-keygen实用程序生成,通过在末尾提供密码生成过程,或者,如果您已经将它们解密,则使用带有选项的ssh-keygen实用程序-p
。一旦密钥被加密,在每次登录时,您都会被要求输入相关的密码,如果正确,一切都会正常进行。
此外,如果您不想每次启动 ssh 客户端时都输入密码,则可以使用ssh-agent:它可以在内存中跟踪未加密的私钥。您可以简单地运行ssh-add指向保存加密密钥的文件,并在询问密码后,将密钥添加到由 ssh-agent 管理的集合中。此后,每次 SSH 客户端需要密码保护的密钥时,ssh-agent 都会向 ssh 客户端透明地提供相关的未加密私钥。因此,对您来说,不需要以交互方式输入它。
请注意,ssh-agent 可以管理大量密钥,显然您可以“调整”您的笔记本/台式机以ssh-add
在登录/启动时启动该实用程序(以填充 ssh-agent 密钥集)。
此外,如果有人偷了你的笔记本电脑,你的私钥可能不是你要泄露的唯一“敏感”内容:请注意,使用今天的 Linux 桌面发行版,设置依赖于“加密”的笔记本非常容易。 " 文件系统(/home
作为启动器,但/
如果需要则是整个)。所以,请也考虑一下。
显然,如果您不依赖自己的笔记本,则上述所有内容均不适用。
PS:至于您将未加密私钥的两半存储在不同介质上的可能性:我强烈建议您不要这样做,因为以未加密的形式维护两部分敏感内容比保留两个要糟糕得多整个内容的完整副本,加密!
小智 5
您的问题的第一部分已由先前的回复回答。根据您的第二部分,我建议使用 pam_google_authenticator 为您的 ssh 登录添加第二个因素。在任何发行版上设置和配置都相当容易。如果您随身携带的私钥被盗,他们将无法使用来自 google-authenticator 的 TOTP 一次性密码登录您的服务器。
https://www.howtoforge.com/tutorial/secure-ssh-with-google-authenticator-on-centos-7