在旅途中使用SSH连接到服务器真的很安全吗?
服务器 :
– CentOS 7
– 仅通过RSA密钥授权 – 密码validation被拒绝
– 非标准端口
工作站 :
– Ubuntu 14
– 用户密码
– 使用RSA密码的密码(标准方法)
也许这是一个好主意,将一半的私人RSA密钥保存在USB记忆棒上,并自动(通过脚本)将这一半添加到〜/ .ssh / private_key连接之前?
互联网将通过酒店的WIFI或租用的公寓的电缆。
UPD
对不起,最初不清楚。 我的意思是两方面的安全:
所以,关于通过一个明确的不可信连接进行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