原文发表于:如何配置 SSH 免密码登录
SSH 是用于管理与服务器通信的加密协议。当你使用 Linux 服务器时,你的大部分时间有可能都花费在通过 SSH 连接到服务器的终端会话中。
尽管有许多不同的通过 SSH 登录服务器的方法,但在这篇文章中,我们将重点介绍 SSH 密钥方式。 SSH 密钥提供了一种简单,但极其安全的登录服务器的方法,这是我们向所有用户推荐的方法。
SSH 密钥如何工作?
SSH 服务器可以使用许多不同的方法来验证客户端。其中最基本的是密码认证,这易于使用,但不是最安全的。
尽管密码是以安全的方式发送到服务器,但是它们通常不够复杂或者不够长,难以抵抗重复的,持久的攻击者。尽管有其他方法可以给密码认证额外添加一些安全性(fail2ban 等),但是 SSH 密钥的方式已经是一个可靠和安全的替代方法。
SSH 密钥对是两个加密的安全密码,可用于给 SSH 服务器验证客户端,每个密钥对由公钥和私钥组成。
私钥由客户端保留,应该保持绝对隐私。私钥一旦泄漏,攻击者就可以直接登录到相关联的公钥配置的服务器,而不需要额外的认证。而作为一个额外的保护措施,私钥可以用密码再次加密。
相关的公钥可以自由共享,没有任何负面后果。公钥可以用于加密只有私钥可以解密的消息。可以根据这个特性进行认证。
公钥被上传到你希望能够使用 SSH 登录的远程服务器。该密钥将添加到你用于登录的用户帐户目录下~/.ssh/authorized_keys文件中
当客户端尝试使用 SSH 密钥进行身份验证时,服务器可以测试客户端是否拥有私钥。如果客户端可以证明它拥有私钥,则生成一个终端会话或执行请求的命令。
基本流程如图所示:
图中表示的是笔记本电脑连接到服务器,但它也可以认为一个服务器连接到另一个服务器。
更多内容请查看:如何配置 SSH 免密码登录