文档

自建用户通过SSH密钥对登录Linux实例

更新时间:

如果您需要在Linux实例上新建普通用户,并使用该用户通过SSH密钥对连接Linux实例,以提高系统的安全性和便于权限管理,则您只需要登录Linux实例并将用于保存公钥信息的~/.ssh/authorized_keys文件保存到您自建用户的.ssh目录下即可。

工作原理

在创建ECS实例时,支持设置登录用户为root或ecs-user(部分镜像暂不支持ecs-user,具体以实例购买页面为准)。当您为ECS实例绑定SSH密钥对后,公钥信息会保存在~/.ssh/authorized_keys文件中,您可以直接使用root或ecs-user通过密钥对登录ECS实例。更多信息,请参见通过密码或密钥认证登录Linux实例通过密钥认证登录Linux实例

当您在Linux实例上新建一个普通用户时,该用户目录下无.ssh/authorized_key文件,因此,您无法使用该用户通过SSH密钥对登录Linux实例。此时,您只需要将~/.ssh/authorized_keys文件拷贝到该用户的.ssh目录下,即可使用您已保存的私钥文件让该用户通过SSH密钥对登录Linux实例。

说明

更多密钥对信息,请参见SSH密钥对概述

前提条件

Linux实例已绑定密钥对。具体操作,请参见绑定SSH密钥对

操作步骤

本文以在Alibaba Cloud Linux 3.2104 LTS 64位操作系统的Linux实例上新建user1用户,然后使用user1用户通过SSH密钥对登录Linux实例为例进行说明,具体操作步骤如下。

  1. 远程连接待登录的ECS实例。

    具体操作,请参见通过密码或密钥认证登录Linux实例

  2. 执行如下命令,创建用户并查看该用户的家目录。

    重要

    必须使用root用户才能创建新用户。如果您使用创建实例设置的ecs-user登录Linux实例,则您需要先执行sudo su -命令切换到root用户后,再执行本操作。

    useradd user1
    ls /home/
  3. 执行如下命令,切换到user1用户目录并查看目录路径。

    su - user1
    pwd
  4. 执行如下命令,创建密钥对存放目录.ssh并为该目录授权。

    mkdir .ssh
    chmod 700 .ssh
  5. 执行exit命令,退出user1用户。

    默认切换到root用户。

  6. 执行如下命令,拷贝authorized_keys文件到user1用户的.ssh文件目录,并进入user1用户的.ssh目录。

    说明

    如果您创建实例时设置的登录名为ecs-user,则authorized_keys文件路径为/home/ecs-user/.ssh。

    cp /root/.ssh/authorized_keys /home/user1/.ssh/
    cd /home/user1/.ssh

    新增目录.png

  7. 执行ls -al命令,查看authorized_keys文件所属用户和组。

    如果所属组不为user1,则执行chown user1:user1 authorized_keys命令修改所属组。修改所属组.png

  8. 使用新建用户远程连接目标Linux实例。

    具体操作,请参见通过密钥认证登录Linux实例通过密码或密钥认证登录Linux实例。当出现如下提示时,表示使用user1用户通过密钥对成功登录目标Linux实例。成功登录.png

相关文档

  • 本页导读 (1)