更新时间:2025-08-06 GMT+08:00
自建用户通过SSH密钥对登录Linux实例
背景介绍
SSH密钥对是一种安全便捷的登录认证方式,用于在SSH协议中进行身份验证和加密通信,由公钥和私钥组成且仅支持Linux实例,满足您对更高安全性、便利性和自动化能力的业务需求。您可以直接在Linux中使用SSH密钥对连接Linux。
前提条件
- 弹性云服务器已经绑定弹性公网IP,绑定方式请参见绑定弹性公网IP。
- 使用的登录工具(如PuTTY)与待登录的弹性云服务器之间网络联通。
PuTTY下载链接:https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html。
自建用户通过SSH密钥对登录Linux实例操作流程
- 选择合适的方式连接到Linux实例,登录方式请参见Linux ECS登录方式概述。
- 创建自建用户。
- 执行以下命令,创建用户,<username>是您自建用户的用户名。
sudo useradd -m <username>
- 执行以下命令,查看用户是否添加成功。
groups <username>
- 执行以下命令,创建用户,<username>是您自建用户的用户名。
- 为自建用户设置密钥对。
- 准备密钥对。
使用自备的密钥对,需要将id_rsa.pub(公钥)存储在Linux实例中,后续使用is_rsa(私钥)文件登录Linux实例。
若没有密钥对,则执行以下命令,连续回车,生成一个长度为2048且加密方式为RSA的密钥对,会在当前路径下生成公钥id_rsa.pub结尾的文件和私钥is_rsa。
ssh-keygen -t rsa -b 2048 -f "./id_rsa"
图1 生成RSA密钥对 - 配置公钥到authorized_keys配置文件。
将本机公钥的内容复制到实例对应用户根路径下的.ssh/authorized_keys文件中,可使用Xftp等文件传输工具完成文件上传操作。
- 执行以下命令,在用户目录下创建.ssh文件夹。
sudo mkdir /home/<username>/.ssh
- 在步骤2.a目录下创建authorized_keys配置文件,并将步骤1中本地生成或提前准备好的公钥文件的内容复制到该配置文件中,可以通过vim编辑器完成文件修改和新建操作。
- 修改.ssh目录和authorized_keys文件的权限。
sudo chmod 700 /home/<username>/.ssh sudo chmod 600 /home/<username>/.ssh/authorized_keys
- 使用vim命令进入/etc/ssh/sshd_config配置文件中,进入编辑模式将PubkeyAuthentication参数设置为yes,RSAAuthentication设置为yes。
PubkeyAuthentication yes RSAAuthentication yes
- 执行以下命令,重启sshd服务,使配置生效。
sudo systemctl restart sshd
- 执行以下命令,在用户目录下创建.ssh文件夹。
- 使用自建用户,通过PuTTY或者Xshell远程登录到ECS实例上,登录方式参考通过SSH密钥方式登录Linux ECS,需要注意的是用户名为您自建的用户名。
- 准备密钥对。
父主题: 选型与配置