使用密钥对登录 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 控制台操作指南中的相关文档:

相关实践学习
借助OSS搭建在线教育视频课程分享网站
本教程介绍如何基于云服务器ECS和对象存储OSS,搭建一个在线教育视频课程分享网站。
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情: https://www.aliyun.com/product/ecs
相关文章
|
2月前
|
安全 Linux
Linux查看和剔除当前登录用户详细教程
Linux查看和剔除当前登录用户详细教程
84 0
Linux查看和剔除当前登录用户详细教程
|
2月前
|
机器学习/深度学习 存储 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中的文件
|
2月前
|
JavaScript Linux API
【Azure 应用服务】NodeJS Express + MSAL 应用实现AAD集成登录并部署在App Service Linux环境中的实现步骤
【Azure 应用服务】NodeJS Express + MSAL 应用实现AAD集成登录并部署在App Service Linux环境中的实现步骤
|
2月前
|
监控 安全 Linux
在Linux中,如何查看当前登录用户?
在Linux中,如何查看当前登录用户?
|
2月前
|
安全 Linux Shell
Linux系统之间实现免密码登录(SSH无密码登录
【8月更文挑战第21天】要在Linux系统间实现SSH免密码登录,需先在源机器生成SSH密钥对,然后将公钥复制到目标机器的`.ssh/authorized_keys`文件中。可通过`ssh-keygen`命令生成密钥,并使用`ssh-copy-id`命令传输公钥。最后测试SSH连接,确保能无密码登录。若目标机器缺少相关目录或文件,需手动创建并设置适当权限。完成这些步骤后,即可实现安全便捷的免密码登录。
80 0
|
2月前
|
Ubuntu Linux 网络安全
在Linux中,如何禁用root用户直接SSH登录?
在Linux中,如何禁用root用户直接SSH登录?
|
2月前
|
存储 安全 Linux
说到Linux安全,SSH限制IP登录绕不开这3种方法!
说到Linux安全,SSH限制IP登录绕不开这3种方法!
|
11天前
|
Linux 数据安全/隐私保护 Windows
命令方式:window向linux传文件
【10月更文挑战第6天】本文介绍了如何在Linux系统中通过命令`ip a`获取IP地址,并在Windows系统下使用CMD命令行工具和SCP命令实现文件传输。示例展示了如何将D盘中的`mm.jar`文件上传至IP地址为192.168.163.122的Linux系统的/up/目录下,最后在Linux系统中确认文件传输结果。
167 65
|
3天前
|
安全 Linux
Linux系统之lsof命令的基本使用
【10月更文挑战第14天】Linux系统之lsof命令的基本使用
25 2
Linux系统之lsof命令的基本使用
|
11天前
|
Web App开发 网络协议 Linux
linux命令总结(centos):shell常用命令汇总,平时用不到,用到就懵逼忘了,于是专门写了这篇论文,【便持续更新】
这篇文章是关于Linux命令的总结,涵盖了从基础操作到网络配置等多个方面的命令及其使用方法。
36 1
linux命令总结(centos):shell常用命令汇总,平时用不到,用到就懵逼忘了,于是专门写了这篇论文,【便持续更新】