在旅途中通过SSH连接到服务器是否真的很安全?

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

服务器
– CentOS 7
– 仅通过RSA密钥授权 – 密码validation被拒绝
– 非标准端口

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

也许这是一个好主意,将一半的私人RSA密钥保存在USB记忆棒上,并自动(通过脚本)将这一半添加到〜/ .ssh / private_key连接之前?

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

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

  1. 仅通过不可信networking的SSH连接的安全性。
  2. 计算机的安全性与SSH连接所需的密钥 – 如果被盗,如何保护服务器…

所以,关于通过一个明确的不可信连接进行SSH连接。

假设你已经有一个来自以前连接的〜/ .ssh / known_hosts条目,那么你应该能够连接而不必担心networking安全与否。 如果你有其他方法来validationSSH主机密钥,也是一样的。

如果您以前从未连接到服务器,也没有其他任何validationssh主机密钥的方法,那么您可能需要对使用的networking进行更仔细的连接。

在你的问题的第二部分,你似乎担心你的笔记本电脑被盗了,并且用你的私钥来无密码的SSHlogin你的服务器。

请注意,通过使用“密码”存储“encryption”的私钥,可以很容易地解决这个问题(私钥问题):在使用ssh-keygen实用程序生成时,可以通过在密钥末尾提供密码短语生成过程,或者,如果您已经使用ssh-keygen实用程序和-p选项,那么您已经拥有它们。 一旦密钥被encryption,每次login时都要求input相关的密码,如果正确,一切都会正常进行。

另外,如果您不想在每次启动ssh客户端时input密码,则可以使用ssh-agent :它可以在内存中跟踪未encryption的私钥。 您可以简单地运行ssh-add指向持有encryption密钥的文件,并在询问密码后将密钥添加到由ssh-agentpipe理的集合中。 之后,每当SSH客户端需要密码保护密钥时,ssh-agent就会透明地将相关的未encryption私钥提供给ssh客户端。 所以,对于你来说,不需要交互地input。

请注意,ssh-agent可以pipe理大量的密钥,显然你可以“调整”你的笔记本/桌面,在login/启动时启动ssh-add实用程序(填充ssh-agent密钥集)。

另外,如果有人偷了你的笔记本电脑,你的私钥可能不是你要发布的唯一“敏感”内容:请注意,在今天的Linux桌面版本中, 非常容易设置依赖“encryption“文件系统( /home作为首发,但整体/如果需要)。 所以,请考虑这一点。

如果您依靠自己的笔记本电脑,上述显然适用。


PS:至于将不encryption的私钥的两部分存储在不同的介质上的可能性,我强烈build议你要这样做,因为保持两个敏感内容的encryptionforms比保留两个更糟整个内容的完整副本,encryption!

您的问题的第一部分已经回答了以前的答复。 根据你的第二部分,我build议使用pam_google_authenticator为你的sshlogin添加第二个因子。 这是相当简单的设置和configuration在任何发行版。 在您携带的私钥被盗的情况下,无法从google-authenticator的TOTP一次性密码login到您的服务器。

https://www.howtoforge.com/tutorial/secure-ssh-with-google-authenticator-on-centos-7