据说NoMachine NX 设置和FreeNX ubuntu 设置文章使用 NX 服务器的默认 SSH 密钥不利于安全。这种不利程度有多大?
是否世界上每个 NX 用户的默认 SSH 密钥都是相同的,并且每个人都可以使用默认密钥登录到 NX 服务器?
答案1
只有 NX“服务器”和“客户端”进程使用名为“nx”的特殊用户帐户。这些帐户用于设置最初的连接阶段并使用你提到的密钥对,这就是全部前真正的用户登录发生。该密钥是不是用于真实 NX 会话用户的登录。
一旦完成初始阶段,就会有一个安全的加密通道。然后,这个加密通道(在默认 NX SSH 密钥的帮助下建立)用于执行真实的用户登录。
因此,仅有的知道默认的 SSH 密钥后,没有人可以登录 NX 服务器。他只能启动初始“握手”阶段,然后就卡住了。
这就像你登录 HTTPS 服务器时,会弹出用户名+密码对话框……[你会认为这特别不安全吗:弹出密码对话框前HTTPS用户登录完成吗?
当然,为了温暖的感觉额外的安全起见,您可以创建自己的密钥并替换默认的 NX/NoMachine 密钥——最好为每个不同的 NX 服务器创建单独的密钥对。嗯……然后您必须将此用户已知的密钥分发给各个 NX 服务器的所有用户。现在您必须开始做更多的管理工作来管理不同 NX 服务器的所有密钥。额外的安全需要额外的工作……
答案2
据我所知,当您设置 NoMachine 时,它会以与 openssh-server 包相同的方式生成密钥,所以我不认为这是一个问题。
我已经很久没有使用 FreeNX 了,所以如果它实际上只是使用捆绑密钥而不是生成密钥,那么它显然不是世界上最安全的东西,我会生成一个新的。
答案3
取决于你想要什么。如果你只是想要传输安全,默认密钥就足够了。如果你想要用户身份验证,那么你不仅应该使用自定义密钥,还应该只允许使用授权密钥登录。这两个问题是不同的。
答案4
FreeNX 服务器安装过程中会创建一个名为 nx 的用户。如果您坚持使用默认 SSH 密钥,则任何知道您机器的主机名或 IP 地址的人都可以使用默认 SSH 密钥以 nx 用户身份登录您的服务器。
如果您的机器可以通过互联网访问,则风险会更大,因此您应该按照本指南底部的说明创建自己的自定义 SSH 密钥。Ubuntu 文章。