【问题标题】:What is Secure Shell or SSH? How does it work? [closed]什么是安全外壳或 SSH?它是如何工作的? [关闭]
【发布时间】:2015-07-05 00:19:26
【问题描述】:

我正在设置数字海洋水滴。我对网络和系统管理任务的经验很少。

所有有关设置此 Droplet 的文档和教程都强烈建议我设置 SSH 连接。谷歌搜索后,我得到了关于什么是 SSH 的非常广泛的定义和视频,但我似乎无法准确地概念化它是如何工作的。

我什至遵循了一些教程的指导,没有任何问题,所以显然我之前用我的其他液滴完成了这一点。但是,每当我使用 PuTTY 或 WinSCP 登录我的 droplet 时,我仍然需要提供用户名和密码(即使保存了密码,我也需要输入它来保存)。

我获得的其他信息:

  • 在逐步完成此过程时,我注意到 linux 仍会要求我创建密码。但是,我所做的很多阅读似乎表明我不需要出于某种原因。

  • 有一个公钥和一个私钥。我似乎无法理解每个的用途,或者有什么区别。

  • 我没有对我的家用电脑做任何事情。 SSH 连接是否验证我确实是通过我的家用计算机登录到我的服务器?如果情况确实如此,如果我根本没有提供有关我的家用计算机的任何信息,这个过程如何知道我正在使用我的家用计算机登录到我的服务器? (一切都是通过我服务器上的 PuTTY 远程完成的)。

  • 根据我阅读的很多内容,设置 SSH 后,您应该禁用 root 用户访问。我只是不明白为什么。

我只是不明白我在创建私钥和公钥时在做什么。使用 WinSCP 和 PuTTY 登录我的服务器时,我仍然需要提供我的用户名和密码。难道我做错了什么?参考 SSH;我在做什么?我为什么要这样做?尽管我在登录时仍然需要提供密码,但我做得对吗?

如果可能,采取“向 5 岁的孩子解释这一点”的方法。

【问题讨论】:

    标签: linux security authentication ssh terminal


    【解决方案1】:

    PuTTY 是一个 SSH 客户端,因此您已经在不知不觉中通过 SSH 登录到您的服务器。公私钥只是登录的另一种方式(除了密码登录)。它的工作方式是您在家用计算机上生成一个公钥/私钥对。然后您将您的公钥提供给服务器,而不是使用您的密码登录(需要您输入密码),您可以使用您的私钥自动登录。如果正确完成,私钥登录也被认为比基于密码的登录更安全。

    已经有很多资源可以解释公私钥加密的工作原理,所以这是我在 Reddit 上找到的:

    另一种看待它的方式是熟悉的盒子类比。想象一下,您想将一个信息公文包发送给您在美国各地的朋友,但需要将其锁定,以便小偷看不到它。显然,您不能只是将自己的锁放在那里然后发送,因为您的朋友没有您的锁的钥匙。

    盒子类比提供了一个解决方案。您将自己的锁放在包上并将其发送给您的朋友。在那里,你的朋友也会把他自己的锁放回去。然后你用你的钥匙打开你自己的锁,这意味着唯一剩下的锁是你朋友的锁。寄回去,他们可以轻松解锁并查看信息。这是万无一失的,因为小偷需要知道两把锁的钥匙才能打开公文包。

    计算使用类似的模型,但不是锁和钥匙,而是使用一把主锁,可以用三把钥匙的组合打开,一把公钥和两把你和你的朋友都知道的私人钥匙。它还考虑了素数和模算术的属性。在学习CS的时候,我发现this video对于理解加锁和解锁的数字化过程是如何工作的有很大帮助。

    来源:
    https://www.reddit.com/r/explainlikeimfive/comments/1kocba/eli5_rsa_algorithm_and_publicprivate_keys/cbr0l24

    此外,如果您想使用 PuTTY 获得公私钥登录,这里有一个教程(它甚至专门针对 digitalocean!):
    https://www.digitalocean.com/community/tutorials/how-to-create-ssh-keys-with-putty-to-connect-to-a-vps

    【讨论】:

    • 这正是我所需要的!
    猜你喜欢
    • 1970-01-01
    • 2022-01-23
    • 2023-03-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-19
    相关资源
    最近更新 更多