Linux实例丢失SSH密钥对的解决步骤
通过用户数据(userdata)使用新的密钥对
访问EC2控制台的密钥对: https://console.amazonaws.cn/ec2#KeyPairs
点击右上角的
创建密钥对
, 起个名称, 密钥对类型使用RSA
, 私钥文件格式使用.pem
创建后浏览器会自动下载名称相同的后缀为.pem的私钥文件, 千万保存好这个文件, 这个下载只有一次
右键点击开始按钮 > Windows PowerShell, 参考下面命令从私钥文件中检索公有密钥(
-f
参数后面请根据实际情况替换为pem文件的完整路径, 下面例子操作的是浏览器默认下载的文件夹):PS C:\Users\lpwm> ssh-keygen -y -f $env:userprofile\downloads\newkey.pem ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCleU4KMARvUYE8fSb7ZOJX/gSlVKS4n8v2fWvY5eozOWrn7wiejwvXcFtosR9I6fgLynoQTS8yHknmWOdbuWOhyy9j+PFhISUTtfumba+9e7jnljV7K5brReOA2NbdyiU2M5cE09CY7zHSl9iV1WzLbDjQs/bsI8bViirEEHDnlpyOKOOugYDFvdLVvsI9BWmQK7A/sj4Z+ZyxbUZtEcSOrWsPSv+3yY9XVB9KZe5vBRHwsbvkStrytVAXfUs78k5IlquUdqVq9AVR4EFW5EaIHHQd2u0VpnWdZcEbFa79N0nZWybIPw8YWT3gnjt3QL0/zaxvao661osCLSFHQis1
记录上面命令输出的结果(从
ssh-rsa
开始一直到最后一个字符):ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCleU4KMARvUYE8fSb7ZOJX/gSlVKS4n8v2fWvY5eozOWrn7wiejwvXcFtosR9I6fgLynoQTS8yHknmWOdbuWOhyy9j+PFhISUTtfumba+9e7jnljV7K5brReOA2NbdyiU2M5cE09CY7zHSl9iV1WzLbDjQs/bsI8bViirEEHDnlpyOKOOugYDFvdLVvsI9BWmQK7A/sj4Z+ZyxbUZtEcSOrWsPSv+3yY9XVB9KZe5vBRHwsbvkStrytVAXfUs78k5IlquUdqVq9AVR4EFW5EaIHHQd2u0VpnWdZcEbFa79N0nZWybIPw8YWT3gnjt3QL0/zaxvao661osCLSFHQis1
如果是在WSL或Linux/Mac中执行上面操作可能会遇到权限问题,
chmod 400 newkey.pem
改一下权限就好EC2控制台中关闭当前的实例, 然后依次选择: 操作 - 实例设置 - 编辑用户数据
参考下面格式修改用户数据的内容:
Content-Type: multipart/mixed; boundary="//" MIME-Version: 1.0--// Content-Type: text/cloud-config; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="cloud-config.txt"#cloud-config cloud_final_modules: - [users-groups, once] users:- name: ubuntussh-authorized-keys: - ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCPkVFzF/LDJsNq5JhbSR1T0PdQHlmdhii/4aTZ8QBBuPw2YgcXs+jpNcT9wnXkbwAYZw2lB67fHAW37OYoqFT7/0XiSQCTuZGG0eG8ILcxCVKmoVHkJ32rGQasaqFAb/Mg7CRH4HUTrOk7Ybsgl3IU9CnkkBn48G3kDUs+eq6WmwWZq24h3Z4QvCYfC8OtfocJRto95rIy7sX2INdQKwtGz+GYkuvPwQmnRDobTQAOIJKKWKoSk6wqN2dF0/QZ1Vr7tBJppw0ECOVUeWLIQNqjNIhBoN8dLeczZuhvJ1q4hE+tRc0Af69ohqQxJKJ27zZmdrRDQDudT42sgieUPRyH
注意修改
- name:
后面为实例中已有的用户名, 不同AMI对应的默认用户名不同, 可以参考:MI 默认SSH用户名 Amazon Linux ec2-user Ubuntu ubuntu RHEL ec2-user 其他 参考AMI说明 修改
ssh-authorized-keys:
下面一行的内容为-
+空格+上面第4步记录的公钥内容, 如图:
点击保存按钮完成设置启动实例并刷新观察控制台中实例状态变为
正在运行
, 从本地电脑使用新的密钥对pem文件再次连接实例ssh -i newkey.pem ubuntu@x.x.x.x
最后一步, 由于用户数据中包含密钥对的公钥信息, 连接成功后需要再将实例关闭, 重复第5步修改用户数据, 将之前输入的内容全部删除后保存, 再重新启动实例.
至此实例替换密钥对操作全部完毕.
参考文档:
https://aws.amazon.com/cn/premiumsupport/knowledge-center/user-data-replace-key-pair-ec2/
Linux实例丢失SSH密钥对的解决步骤相关推荐
- 阿里云服务配置SSH密钥对登陆
文章目录 阿里云服务配置SSH密钥对登陆 前言 SSH密钥对概述 SSH密钥对介绍 功能优势 使用限制 1 登陆云服务控制台 2 创建密钥对下载私钥 3 绑定ECS实例 4 修改私钥文件属性 5 运行 ...
- 无法启动程序 计算机丢失QT,Win7系统打开程序提示计算机中丢失qt5core.dll如何解决...
最近有win7旗舰版系统用户在打开某个程序的时候,突然弹出系统错误窗口,显示无法启动此程序,因为计算机中丢失qt5core.dll.尝试重新安装该程序以解决此问题,该怎么办呢,接下来随win7之家小编 ...
- SSH密钥对登录的原理和实践
SSH密钥对登录的原理和实践 1.ssh密钥对登录的基本思路是:要登录谁,就把公钥放到谁身上,就可以授权登录谁. 2.本地登录设备称为ssh客户端,被登录的设备称为ssh服务器. 3.原理图描述如下: ...
- linux添加sshkey,使用SSH密钥对连接Linux实例
本地为Linux或其它支持SSH命令的环境 本节介绍如何在Linux或其他支持SSH命令的环境(如Windows下的MobaXterm)下使用SSH密钥对登录Linux实例. 方式一 找到您所下载的. ...
- linux一次性密码确保ssh登录安全,使用 SSH 时确保 EC2 Linux 实例安全的最佳实践
使用 SSH 安全访问 EC2 Linux 实例,同时避免未经授权的访问的最佳实践有哪些? 上次更新时间:2020 年 9 月 4 日 我想使用 SSH 访问 Amazon Elastic Compu ...
- linux ssh密钥对,Mac使用ssh密钥登录Linux
ssh登录Linux通常有两种方法:用户名密码登录.用户名密钥登录:使用用户名密码登录每次都要输入密码,相当麻烦,而使用用户名密钥登录则可以避免这个问题. 创建密钥对文件 打开本地终端,执行 ssh- ...
- xshell使用SSH密钥登录Linux实例
在本地Windows系统中打开xshell. 工具栏上打开 工具 > 新建用户密钥生成向导 在新建会话属性的 连接 配置中输入会话名称和您的云服务器IP地址 点击 连接 中的用户身份验证,方法选 ...
- Linux 服务器SSH密钥对登录设置
SSH 简介 SSH 是 Secure Shell 的缩写,称为安全外壳协议 ,SSH 为建立在应用层和传输层基础之上的安全协议. SSH 相关知识 SSH 端口:22 Linux中的守护进程:ssh ...
- linux修改ssh登陆端口号,Linux 6 修改ssh默认远程端口号的操作步骤
linux 默认的ssh远程端口是22,有时默认端口会遭到别有用心的人们扫描或攻击,为了时我们的系统更加安全那就需要修改远程端口号 操作步骤: 1.修改ssh_config配置文件 vim /etc/ ...
最新文章
- 花了一上午,终于完成了作业
- css 字体样式设置
- C#关机代码实例详解
- linux进程VSZ(虚拟内存)
- 第一个Android项目
- java都要caps标点_第 1 章 管理 Java CAPS 用户
- 编译mediastreamer2/ffmpeg/linphone(x86平台)
- c语言存储的逻辑顺序,栈是不是顺序储存的线性结构啊?
- 如何做相册_苹果手机相册不想让人看怎么办?看这里教你加密
- jQuery性能优化指南(2)
- C语言实例:三个数从小到大排序
- 苹果软件更新在哪里_手机资讯:iPhone 为什么比安卓手机好用iPhone 的独到之处在哪里...
- one algorithm a day keeps the doctor away -- BubbleSort
- 【聚类算法】用Sklearn封装的KMeans | DBSCAN算法详解 |【问题解决】AttributeError: ‘NoneType‘ object has no attribute split
- 利用TC进行流量控制
- 痞子衡嵌入式:IAR内部C-SPY调试组件配套宏文件(.mac)用法介绍
- 新浪微博图床架构解析
- 【SAP消息号AW003】
- 大型网站架构之架构演变
- JVM之类加载机制(基于《深入理解Java虚拟机》之第七章类加载机制)(上)