华为云主机怎么免密登录?

HCRM技术_小炮 云主机 2025-10-07 1 0

下面我将为您提供一个从创建密钥对到登录的完整、清晰的步骤。

核心原理

免密登录的核心是“公私钥对”

1、私钥:保存在您的本地电脑上,像一个独一无二的、绝不能泄露的“钥匙”。

2、公钥:放置在华为云主机的指定文件中,像一个“锁芯”。

登录时,您的本地SSH客户端会用“私钥”去匹配服务器上的“公钥”,匹配成功即可登录,无需输入密码。

方法一:通过华为云控制台创建和绑定密钥对(推荐新手)

这种方法最直观,由华为云帮您保管公钥。

步骤 1:创建或导入密钥对

1、 登录华为云控制台

2、 进入弹性云服务器 (ECS) 服务页面。

3、 在左侧导航栏,找到并点击“密钥对”

4、 点击右上角的“创建密钥对”

5、填写信息

名称为您密钥对起个名字,例如my-ecs-key

创建方式

自动生成(推荐) 华为云会为您生成一个密钥对,并让您直接下载私钥文件(.pem 格式)。

导入公钥如果您本地已经有现成的SSH密钥对(如id_rsa.pub),可以将公钥内容粘贴进来。

6、关键操作:如果选择“自动生成”,点击“确定”后,浏览器会立即下载私钥文件,请务必将此文件妥善保存在一个安全的位置(例如~/.ssh/ 目录下),这是您获取私钥的唯一机会,华为云不存储您的私钥

步骤 2:为ECS实例绑定密钥对

您可以在创建新ECS实例时为已有实例绑定

创建新实例时

* 在“配置网络”后的“高级配置”步骤中,找到“登录方式”。

* 选择“密钥对”

* 从下拉列表中选择您刚刚创建好的密钥对(例如my-ecs-key)。

为已有实例绑定

1. 在ECS实例列表中,找到目标实例,点击操作列的“更多” ->“密码/密钥对” ->“绑定密钥对”

2. 选择您创建好的密钥对,点击“确定”。

3.重要:绑定过程需要重启ECS实例才能生效,请选择在业务低峰期操作,或根据提示确认重启。

步骤 3:从本地SSH连接

绑定并生效后,您就可以使用私钥文件进行免密登录了。

1、打开您的终端(Linux/macOS)或PowerShell/Git Bash(Windows)。

2、 使用ssh 命令并指定私钥路径进行连接,命令格式如下:

    ssh -i /path/to/your/private-key.pem root@<你的ECS弹性公网IP>

-i指定身份文件,即您的私钥文件路径。

/path/to/your/private-key.pem替换为您的私钥文件在本地电脑上的实际路径,如果您将my-ecs-key.pem 文件放在了用户目录下的.ssh 文件夹里,路径可能是~/.ssh/my-ecs-key.pem

root默认用户是root,如果您创建的是Ubuntu等镜像,默认用户可能是ubuntuec2-user,请根据实际情况修改。

<你的ECS弹性公网IP>替换为您的ECS实例的公网IP地址。

示例

ssh -i ~/.ssh/my-ecs-key.pem root@123.123.123.123

执行此命令后,如果一切正常,您将直接登录到云主机,无需输入密码。

方法二:手动上传公钥到已有ECS(适合已能用密码登录的情况)

如果您已经有一台可以通过密码登录的ECS,并且想在本地使用免密登录,可以采用此方法。

步骤 1:在本地生成SSH密钥对(如果还没有)

在您的本地电脑终端中执行以下命令:

ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

-t rsa指定密钥类型为 RSA。

-b 4096指定密钥长度为 4096 位,更安全。

-C添加一个注释,通常用您的邮箱。

按回车后,系统会提示您保存密钥的位置(默认~/.ssh/id_rsa),直接回车即可,接着会提示您输入一个密码来保护您的私钥(可选,为了绝对免密可直接回车留空)。

完成后,您会在~/.ssh/ 目录下得到两个文件:

id_rsa您的私钥,务必保密

id_rsa.pub您的公钥,可以公开。

步骤 2:将公钥上传到ECS服务器

使用密码登录到您的华为云ECS:

ssh root@<你的ECS弹性公网IP>
输入密码

登录成功后,执行以下命令,将您本地追加到服务器的授权密钥文件中:

切换到ssh目录
cd ~/.ssh
确保 authorized_keys 文件存在且有正确权限
touch authorized_keys
chmod 600 authorized_keys

不要关闭这个终端窗口,打开一个新的本地终端窗口,使用以下命令将您本地的公钥文件内容上传并追加到服务器的authorized_keys 文件中:

在您本地电脑的新终端中执行
ssh-copy-id -i ~/.ssh/id_rsa.pub root@<你的ECS弹性公网IP>

系统会提示您输入root用户的密码,输入后,公钥就会被自动上传并配置好。

(如果您的系统没有ssh-copy-id 命令),可以手动操作:

1、 在本地电脑查看公钥内容:cat ~/.ssh/id_rsa.pub

2、 全选并复制输出的内容。

3、 回到之前登录到ECS的终端窗口,用编辑器(如vimnano)打开~/.ssh/authorized_keys 文件。

4、 将复制的内容粘贴到文件末尾。

5、 保存并退出编辑器。

步骤 3:测试免密登录

从您本地的终端,现在可以直接尝试登录:

ssh root@<你的ECS弹性公网IP>

如果配置正确,您将无需输入密码直接登录成功。

重要提示和安全建议

1、权限问题:确保私钥文件和服务器上的authorized_keys 文件权限正确。

本地私钥chmod 600 ~/.ssh/your-private-key.pem

服务器authorized_keyschmod 600 ~/.ssh/authorized_keys

2、保护私钥:您的私钥是最高机密,切勿发送给他人或上传到不安全的地方。

3、默认用户:不同操作系统的默认用户不同。

CentOS/Fedora/OpenEuler通常是root

Ubuntu/Debian通常是ubuntu

OpenSUSE/SLES通常是rootec2-user

* 您也可以在华为云ECS的“实例详情”页面查看到。

4、故障排查:如果登录失败,可以添加-v 参数查看详细连接过程,帮助定位问题:

    ssh -v -i ~/.ssh/your-key.pem root@your-ip

按照以上步骤操作,您就能轻松实现华为云主机的免密登录了,对于新手,强烈推荐从方法一 开始。

文章摘自:https://idc.huochengrm.cn/zj/17421.html

评论