前言

ssh 远程登录密码认证的方式有 PasswordKeyboard InteractivePublic Key 三种主要方式。
前面两种方式就是密码认证,含义都是一样大同小异。第三种是登录方式最安全的一种,也是我们常用的云服务器默认使用的一种方式。

本文就如何配置并使用 Public Key 来登录进行演示。

服务器配置步骤

以 root 用户登录目标 Linux 服务器,输入 ssh-keygen -t rsa 命令生成公私钥,如下:

Linux SSH PublicKey 登录_ssh

注:这里使用 Linux 命令生成公私钥,并不是一定要在在该服务器上生成。你可以使用外部工具直接生成好公私钥,然后将公钥上传到服务器上使用是一样的。例如 XShell 等工具都提供了生成公私钥的操作。

文件权限设置:

chmod 700 /root/.ssh/
chmod 600 ~/.ssh/id_rsa
chmod 644 ~/.ssh/id_rsa.pub

将公钥添加到 ~/.ssh/authorized_keys 文件中:

cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

修改 sshd 服务的配置文件 /etc/ssh/sshd_config

# 开启 Pubkey 认证
PubkeyAuthentication yes

# 开启并检查授权文件位置是否正确
AuthorizedKeysFile .ssh/authorized_keys

我在本地测试验证时,未重启 sshd 服务直接就可以使用了。如果你的 sshd 配置未生效可能你需要重启 sshd 服务尝试。

最后将私钥文件 ~/.ssh/id_rsa 下载到本机电脑,需要在 XShell 等客户端连接工具上使用。

以 XShell 为例使用方法

Linux SSH PublicKey 登录_Public_02

如图导入并配置使用 Public Key 登录方式,即可无需密码直接连接到 Linux ssh 控制台。


(END)