修复AWS上EC2损坏的sshd_config文件
常识: AWS是没有root用户的,登陆也都是通过SSH KEY完成授权认证。
背景: 正在AWS上搭一个CI (GO),与gitlab,为了将其进行集成,需将gitlab的deploy key设置成GO的SSH KEY。然而,GO创建的是无密码的用户go,导致无法进入用户go的home目录。
正常 su go 无法切换到go用户,当时又恰巧正在看SSH的config文件:
/etc/ssh/sshd_config
里面有一条 PermitEmptyPasswords no,接着便私自改成了yes,无用。PermitRootLogin no,改成 yes,依旧无用。
注:废话,肯定没用啊,这是设置SSH的。
正确的做法:
sudo su go
当修改之后,没改回来,当我退出AWS之后就杯具了。再也登陆到AWS上,因为登陆时却输密码,而实际却是没有密码。此时真想多天说一句:X。
Google了很多解决方案,都说得是用Live CD,重新引导进入,然后挂载有sshd_config文件的磁盘并修复它。这在EC2上是根本不可能的,能做的只有把root磁盘卷拆卸,再装载到另外的EC2实例上,并修改相应的文件。以下便是详细操作:
- 关闭当前EC2实例
- 将有错误sshd_config的磁盘(EBS)拆卸
- 当磁盘重新装载到另一个EC2实例上,并挂载该磁盘
拆卸与装载都在AWS的console界面操作,装载成功后,可用以下命令挂载(我的新的磁盘名字是 xdf):
sudo mkdir /mnt/other
sudo mount /dev/xvdf /mnt/other
- 编辑损坏的文件sshd_config,修复配置与语法错误
- 反挂载并拆卸掉该磁盘
sudo umount /mnt/other
- 再次将该磁盘装载到原EC2实例上
- 启动原EC2实例,测试修改结果
这些做完之后,一切都如以前一样。又可以通过SSH KEY连上原来的实例。
结论
教训是,永远别再一次做这种事。在适当的时候,也可以给你的编辑器sudo的权限,vim的配置
cnoremap w!! %!sudo tee > /dev/null %
修复AWS上EC2损坏的sshd_config文件的更多相关文章
- 关于aws上ec2机型的种类总结汇总
在aws上ec2的机型是非常多的,但主要的种类为如下几种 General Purpose (通用型) ...
- linux上创建ftp服务器下载文件///使用AWS服务器作为代理,下载sbt相关的包
最近觉得自己下载有些jar的速度太慢了,就在aws上下好了,然后转到我电脑上来,在aws上开了ftp服务器.结果就倒腾了一上午,作个记录,以便后面查看. 1.安装vsftpd yum -y insta ...
- 十八、dbms_repair(用于检测,修复在表和索引上的损坏数据块)
1.概述 作用:用于检测,修复在表和索引上的损坏数据块. 2.包的组成 1).admin_tables语法:dbms_repair.admin_tables(table_name in varchar ...
- android 图片上传到服务端 文件损坏问题
在网上找的例子,怎么试都不行. 上传上去之后提示文件损坏,不过最后问题还是找到了. 是因为不能在写入流的byte中写入其他内容 这是网上的例子 如果是要在服务端取文件名,可以在这里写入 在服务端获取文 ...
- aws上传文件、删除文件、图像识别
目录 aws的上传.删除s3文件以及图像识别文字功能 准备工作 安装aws cli 初始化配置AWS CLI s3存储桶开通 图像识别文字功能开通 aws的sdk 上传文件 方法一 方法二 删除文件 ...
- Amazon AWS 架设EC2服务器(datizi)fanqiang (更新手机VPN/L2TP设置)
今天用AWS在东京架设了一台服务器用来个人fanqiang.为什么用AWS呢,阿里云学生价9.9可以搭在香港,但是我的学制今年2月份在学信网上就到期了,腾讯云holy shit,我司AZURE据说员工 ...
- 在亚马逊amazon的AWS上安装Node和MongoDB服务器
在亚马逊amazon的AWS上安装Node和MongoDB服务器 在建立AWS上账号.创建EC2 ,用putty链接上之后,就可以用下面的方法开始安装. !!! 如果不是是自己建立的EC2, 而是由B ...
- 从损坏的wt文件中恢复出WiredTiger集合
Reference: http://dev.guanghe.tv/2016/06/recovering-a-wiredtiger-collection-from-a-corrupt-wt-file.h ...
- 利用innodb_force_recovery修复MySQL数据页损坏
现象:启动MySQL服务时报1067错误,服务无法启动. 查看xxx.err错误日志发现有数据页损坏信息: InnoDB: Database page corruption on disk or a ...
随机推荐
- js系列(8)简介
JavaScript一种直译式脚本语言,是一种动态类型.弱类型.基于原型的语言,内置支持类型.它的解释器被称为JavaScript引擎,为浏览器的一部分,广泛用于客户端的脚本语言,最早是在HT ...
- SQL Server 内存中OLTP内部机制概述(二)
----------------------------我是分割线------------------------------- 本文翻译自微软白皮书<SQL Server In-Memory ...
- 【VerySky原创】后台JOB运行-相关表
[VerySky原创] TBTCP 批作业步骤概述TBTCO 作业状态概述表TBTCS 批计划表TBTC_SPOOLID Background Processing Spool ...
- oreData的学习记录
1.如果想创建一个带有coreData的程序,要在项目初始化的时候勾选中 2.创建完成之后,会发现在AppDelegate里多出了几个属性,和2个方法 <span style="fon ...
- 【最新图文教程】WinCE5.0中文模拟器SDK(VS2008)的配置
http://www.blogbus.com/antiblood-logs/204402631.html 经过几天的查找,终于找到了一篇文章是讲VS2008 怎么集成wince5.0 的模拟器的,这里 ...
- 使用shiro的SimpleHash来生成常用的摘要串
<dependency> <groupId>org.apache.shiro</groupId> <artifactId>shiro-core</ ...
- No connection string named '***' could be found in the application config file
Code-First时更新数据库遇到妖孽问题“No connection string named '***' could be found in the application config fil ...
- database link
create database link lims_qumas_supplyconnect to QPROCESSDEV identified by qprocessdevusing '(DESCRI ...
- Core Animation一些Demo总结 (动态切换图片、大转盘、图片折叠、进度条等动画效果)
前一篇总结了Core Animation的一些基础知识,这一篇主要是Core Animation 的一些应用,涉及到CAShapeLayer.CAReplicatorLayer等图层的知识. 先看效果 ...
- CentOS 7.0系统安装配置LAMP服务器(Apache+PHP+MariaDB)
CentOS 7.0接触到的用户是比较少的,今天看了站长写了一篇关于centos7中安装配置LAMP服务器的教程,下面我把文章稍加整理一下转给大家学习交流,希望例子能给各位带来帮助哦. cento ...