在旅途中从酒店通过SSH连接到服务器真的安全吗?


13

在旅途中使用SSH从酒店连接到服务器真的安全吗?

服务器
-CentOS 7-
仅通过RSA密钥授权-密码身份验证被拒绝
-非标准端口

工作站
-Ubuntu 14-
用户密码
-使用RSA密钥的密码(标准方法)

最好将一半的RSA私钥保留在USB记忆棒上,然后在连接之前自动(通过脚本)将这一半添加到〜/ .ssh / private_key中?

互联网将通过酒店的WIFI上网或租用公寓中的电缆上网。

UPD
对不起,起初不清楚。我的意思是两个方面的安全性:

  1. 通过不可信网络的SSH连接的安全性。
  2. 使用SSH连接所需的密钥来保护计算机的安全-如果被盗,如何保护服务器...

RSA密钥的一半?ssh主机密钥的公共部分?用户ssh密钥的私有部分的一半?
andol 2015年

我的私有RSA密钥的一半当然是:),并在连接到服务器之前通过脚本自动将这一半添加到〜/ .ssh / private_key中。
谢尔盖·谢罗夫

您已经比大多数人更安全,因为您正在运行Linux。由于您正在运行最新版本,因此应该具有支持更强加密功能的OpenSSH新版本。在遵循tecmint.com/5-best-practices-to-secure-and-protect-ssh-server之后,您可以限制自己使用诸如stribika.github.io/2015/01/04/secure-secure- shell.html
小鸡

3
@chicks表示“比大多数人都更安全,因为您正在运行Linux”。SSH是SSH,无论它运行在Linux,Unix(Mac)还是Windows上。而且,我们可以指出最近历史上Linux中存在许多非常严重的安全漏洞(Heartbleed,有人吗?)。只是说,让我们把愚蠢的OS火焰大战留在它们所属的场边,因为它分散了实际问题的注意力。谢谢!;-)
Craig

2
@小鸡我想这就是我要传达的。自从几年前启动“可信赖的计算*”计划以来,所有OS都存在许多安全问题,并且Microsoft取得长足的进步。我只是认为“由于Linux的存在,您更加安全”将谈话从当前的实际问题转移了( ;-)
Craig

Answers:


25

因此,关于通过显式不受信任的连接建立ssh连接。

假设您已经有来自先前连接的〜/ .ssh / known_hosts条目,是的,您应该能够进行连接而不必担心网络是否安全。如果您还有其他验证ssh主机密钥的方法,也是如此。

如果您以前从未连接过服务器,或者也没有其他任何方法可以验证ssh主机密钥,那么您可能需要更加谨慎地对待用于连接的网络。


谢谢!!因此,即使通过任何公共Wi-Fi,通过SSH连接到服务器也是安全的吗?
谢尔盖·谢罗夫

7
其实,这个答案适用于任何情况下,你想SSH到远程服务器和任意路径的一部分是不是你的完全控制之下(所以几乎任何东西除了SSH-ING到新安装的本地主机或在交联电缆)
哈根·冯·埃岑

6
值得注意的是,如果客户端不知道主机密钥,那么如果使用密码身份验证,则可能会发生全面的MITM攻击。但是,如果使用基于密钥的身份验证,则攻击者将只能模拟服务器。攻击者将无法同时对真实服务器进行身份验证。在这种情况下,攻击者很难提供令人信服的模拟服务器,因此您可能会注意到有些事情在为时太晚之前就已经出现了问题。简而言之:公钥身份验证比密码身份验证安全得多
kasperd

2
@kasperd:好吧,如果连接的客户端启用了代理转发,那么即使是公用密钥身份验证也可以提供完整的MITM体验。但是,是的,在任何一天,公钥认证绝对比常规密码更可取。
andol 2015年

1
@kasperd:好吧,我可以轻易地想象有人发现代理转发,但没有完全理解它,在他们的〜/ .ssh / config中放置了“ Host * \ n \ tForwardAgent yes”之类的内容。人们会做各种疯狂的事情:-)
andol 2015年

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:关于将两半未加密的私钥存储在不同介质上的可能性:我强烈建议您要这样做,因为以未加密的形式维护这两部分敏感内容比保留两半敏感得多。完整内容的完整副本,已加密!


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.