使用密钥对登录 Linux 云主机

简介: 管理 Linux 云主机最简便的方法是使用密钥对登录,既安全,又省事。本文记录在 Mac OS 下使用密钥对登录 Linux 云主机的设置过程,同样也适用于多数 Linux 客户端。

管理 Linux 云主机最简便的方法是使用密钥对登录,既安全,又省事。本文记录在 Mac OS 下使用密钥对登录 Linux 云主机的设置过程,同样也适用于多数 Linux 客户端。

通过 ECS 控制台修改设置并获取云主机 IP 地址

购买阿里云主机后,点击 “管理控制台” » “我的资源” » “弹性计算” » “云服务器 ECS” 链接进入 ECS 控制台,通过 ECS 控制台可以执行更换操作系统、修改计算机名、重置密码等管理操作,并获取管理云主机所需的 IP 地址等信息。

更换操作系统

转到实例列表,找到需要管理的 ECS 实例,在最后一列,点击“更多”可以出现操作选择菜单:

image

图1. 操作选择菜单

通过“磁盘和镜像”下的“更换系统盘”可以更换操作系统。

注意更换操作系统的操作界面只有在 ECS 处于关闭状态才可进入。如果实例处于“运行中”的状态,可通过“实例状态”下的“停止”菜单关闭云主机。

修改计算机名(HostName)

默认的实例名称、HostName 和实例 ID 一致,但您肯定不喜欢在系统中看到一个很长但无意义的 ID。

通过“实例设置”下的“修改信息”功能可设置实例名称、HostName和实例描述。

密码

在完成使用密钥对登录的设置工作前,需要通过密码操控云主机。

如果不记得 root 密码,可通过“密码/密钥”下的“重置密码”先设置一个密码。root 密码可以在成功使用密钥对登录后删除。

获取云主机IP地址

从实例列表中可找到并复制需管理 ECS 实例的公网 IP。在本文的例子中为“39.105.106.107”。

检查安全组设置

对于新购买的 ECS, 安全组初始状态下允许接收来自外来 IP 对 TCP 22 端口(也就是 ssh 服务的默认监听端口)的访问,但如果安全组设置被修改,将可能造成后续的操作不能进行。

点击 ECS 实例后,在 “本实例安全组” 下可查看入方向的规则,在 “安全组列表” 中点击 “配置规则”可添加/删除/修改安全组规则。

在客户端生成密钥对并将公钥复制到 ECS

生成RSA密钥对

如果没有可用的密钥对,可以重新生成一对。

ssh-keygen

在此过程中会提示输入文件名,如果不使用默认的文件名,需要做好记录,在后面的配置中还会用到。

将密钥对中的公钥复制到 ECS

接下来将密钥对中的公钥复制到 ECS,记住是公钥。私钥一般保留在自己的计算机内就好,不用通过网络或移动介质传输。如果需要从新的客户端管理云主机,再生成一对密钥,将公钥复制到云主机即可。这种方式下,万一有某个客户端的私钥丢失或泄漏,只需要在云主机中删除对应的公钥,不影响其它客户端。

ssh-copy-id -i ~/.ssh/id_rsa.pub root@39.105.106.107

这个过程会提示输入密码,也就是在 ECS 控制台中设置的密码。

上面例子中的 ~/.ssh/id_rsa.pub 文件为刚刚生成的密钥对中的公钥,39.105.106.107 为 ECS 的公网 IP。

使用密钥对登录云主机

ssh root@39.105.106.107

如果不想每次都去查看 ECS 的公网 IP,或者没有使用默认的密钥文件名(~/.ssh/id_rsa~/.ssh/id_rsa.pub),那么还需要下面一步。

修改 config 文件

修改文件 ~/.ssh/config, 增加以下 5 行内容:

host aliyun1
  user root
  hostname 39.105.106.107  
  port 22
  identityfile ~/.ssh/rsa_for_aliyun_ecs

新增加的 5 行内容分别为:

  1. host
  2. 云主机 Linux 系统的用户名
  3. ECS 的公网 IP
  4. ssh 端口号
  5. 私钥文件在本机的地址

配置完成后登录就更简单了:

ssh aliyun1

其它操作环境

以上设置是在 Mac OS 下通过密钥对登录 Linux 云主机,也适用于多数 Linux 客户端。

如果您的使用环境不同,或者需要更详细的讲解,可浏览 ECS 控制台操作指南中的相关文档:

相关实践学习
2分钟自动化部署人生模拟器
本场景将带你借助云效流水线Flow实现人生模拟器小游戏的自动化部署
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情: https://www.aliyun.com/product/ecs
相关文章
|
4月前
|
安全 Linux
Linux查看和剔除当前登录用户详细教程
Linux查看和剔除当前登录用户详细教程
140 0
Linux查看和剔除当前登录用户详细教程
|
4月前
|
机器学习/深度学习 存储 Linux
【机器学习 Azure Machine Learning】使用VS Code登录到Linux VM上 (Remote-SSH), 及可直接通过VS Code编辑VM中的文件
【机器学习 Azure Machine Learning】使用VS Code登录到Linux VM上 (Remote-SSH), 及可直接通过VS Code编辑VM中的文件
|
4月前
|
JavaScript Linux API
【Azure 应用服务】NodeJS Express + MSAL 应用实现AAD集成登录并部署在App Service Linux环境中的实现步骤
【Azure 应用服务】NodeJS Express + MSAL 应用实现AAD集成登录并部署在App Service Linux环境中的实现步骤
|
4月前
|
监控 安全 Linux
在Linux中,如何查看当前登录用户?
在Linux中,如何查看当前登录用户?
|
4月前
|
安全 Linux Shell
Linux系统之间实现免密码登录(SSH无密码登录
【8月更文挑战第21天】要在Linux系统间实现SSH免密码登录,需先在源机器生成SSH密钥对,然后将公钥复制到目标机器的`.ssh/authorized_keys`文件中。可通过`ssh-keygen`命令生成密钥,并使用`ssh-copy-id`命令传输公钥。最后测试SSH连接,确保能无密码登录。若目标机器缺少相关目录或文件,需手动创建并设置适当权限。完成这些步骤后,即可实现安全便捷的免密码登录。
156 0
|
4月前
|
Ubuntu Linux 网络安全
在Linux中,如何禁用root用户直接SSH登录?
在Linux中,如何禁用root用户直接SSH登录?
|
4月前
|
存储 安全 Linux
说到Linux安全,SSH限制IP登录绕不开这3种方法!
说到Linux安全,SSH限制IP登录绕不开这3种方法!
205 0
|
23天前
|
Linux 网络安全 数据安全/隐私保护
Linux 超级强大的十六进制 dump 工具:XXD 命令,我教你应该如何使用!
在 Linux 系统中,xxd 命令是一个强大的十六进制 dump 工具,可以将文件或数据以十六进制和 ASCII 字符形式显示,帮助用户深入了解和分析数据。本文详细介绍了 xxd 命令的基本用法、高级功能及实际应用案例,包括查看文件内容、指定输出格式、写入文件、数据比较、数据提取、数据转换和数据加密解密等。通过掌握这些技巧,用户可以更高效地处理各种数据问题。
52 8
|
23天前
|
监控 Linux
如何检查 Linux 内存使用量是否耗尽?这 5 个命令堪称绝了!
本文介绍了在Linux系统中检查内存使用情况的5个常用命令:`free`、`top`、`vmstat`、`pidstat` 和 `/proc/meminfo` 文件,帮助用户准确监控内存状态,确保系统稳定运行。
145 6