EC2 - SSH连接时・ Connection refused的解决方法

本文介绍了一种在EC2实例上修复因SSH配置文件错误导致无法连接的问题的方法。通过创建辅助EC2实例,将错误配置的磁盘挂载并修复sshd_config文件,最后重新挂载磁盘至原EC2实例,恢复SSH连接。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题

连接的状态下,修改了文件

/etc/ssh/sshd_config

将 ServerAliveInterval 设成了 60s,结果重启sshd后,直接出现启动失败的信息

Bad configuration option: ServerAliveInterval
/etc/ssh/sshd_config: terminating, 1 bad configuration options

此时直接修改回来还好,结果手动退出ssh了(愚蠢的悲催,?),之后再也连接不上

Connection· Refuse

确认系统启动log,sshd启动不了了。
在这里插入图片描述

解决

简述步骤

  1. 画面操作 → 关闭当前EC2实例,启动一个新的协助EC2实例(注意;需要和复旧EC2在一个可用区)
  2. 画面操作 → 将有错误sshd_config的磁盘(EBS)拆卸
  3. 画面操作 → 挂载该磁盘到新的协助EC2实例上
  4. 命令操作 → SSH登陆协助EC2实例
  5. 命令操作 → 命令挂载第三步挂载的磁盘
  6. 命令操作 → 编辑损坏的文件sshd_config
  7. 命令操作 → 反挂载并拆卸掉该磁盘
  8. 画面操作 → 再次将该磁盘装载到原EC2实例上(注意;挂载时需要把磁盘设为 ·dev/xvda)
  9. 画面操作 → 启动原EC2实例,连接测试

详细图示步骤

  1. 关闭当前EC2实例,启动一个新的协助EC2实例
    在这里插入图片描述

  2. 备份下复旧EC2的 EBS-ID, 之后检索用
    在这里插入图片描述
    根据上面的 EBS-ID 找到该磁盘,action 里面选择detach

    在这里插入图片描述

  3. 挂载该磁盘到新的协助EC2实例上
    在这里插入图片描述
    在这里插入图片描述
    挂载磁盘名为 /dev/sdf

  4. 命令操作
    SSH登陆协助EC2实例

    PS C:\Users\user> ssh -A -i ~/.ssh/xxxxxx.pem ec2-user@xxx.xxx.xxx.xxx
    

    确认当前磁盘状况

    [ec2-user@ip-10-0-16-159 ~]$ df -h
    Filesystem      Size  Used Avail Use% Mounted on
    devtmpfs        969M   68K  969M   1% /dev
    tmpfs           979M     0  979M   0% /dev/shm
    /dev/nvme0n1p1  7.8G  1.1G  6.6G  14% /    ?这是当前主磁盘信息
    

    确认挂载的磁盘信息,看到名字变了?

    [ec2-user@ip-10-0-16-159 ~]$ ll /dev/ | grep sdf
    lrwxrwxrwx 1 root root           7 Mar  1 07:01 sdf -> nvme1n1
    

    确认磁盘具体信息

    [ec2-user@ip-10-0-16-159 ~]$ lsblk
    NAME          MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
    nvme0n1       259:0    0   8G  0 disk
    ├─nvme0n1p1   259:1    0   8G  0 part /   ?这是当前挂载的主磁盘信息
    └─nvme0n1p128 259:2    0   1M  0 part
    nvme1n1       259:3    0   8G  0 disk
    ├─nvme1n1p1   259:4    0   8G  0 part     ?这是将要修复的磁盘信息
    └─nvme1n1p128 259:5    0   1M  0 part
    

    建立新文件夹,mount磁盘

    [ec2-user@ip-10-0-16-159 ~]$ sudo mkdir /mnt/vol01
    [ec2-user@ip-10-0-16-159 ~]$ sudo mount /dev/nvme1n1p1 /mnt/vol01
    [ec2-user@ip-10-0-16-159 ~]$ df -h
    Filesystem      Size  Used Avail Use% Mounted on
    devtmpfs        969M   68K  969M   1% /dev
    tmpfs           979M     0  979M   0% /dev/shm
    /dev/nvme0n1p1  7.8G  1.1G  6.6G  14% /
    /dev/nvme1n1p1  7.8G  2.2G  5.6G  28% /mnt/vol01    ?看到复旧磁盘已经挂载,同时显示挂载路径
    

    修复旧磁盘的破损文件 编辑损坏的文件sshd_config

    [ec2-user@ip-10-0-16-159 ~]$ sudo vi /mnt/vol01/etc/ssh/sshd_config
    

    unmount该磁盘

    [ec2-user@ip-10-0-16-159 ~]$ sudo umount /mnt/vol01
    [ec2-user@ip-10-0-16-159 ~]$ df -h
    Filesystem      Size  Used Avail Use% Mounted on
    devtmpfs        969M   68K  969M   1% /dev
    tmpfs           979M     0  979M   0% /dev/shm
    /dev/nvme0n1p1  7.8G  1.1G  6.6G  14% /
    
  5. 可以在EC2 active的状态下直接 detach 该磁盘,然后 attach 到原来的EC2 实例上
    注意设备名字要改为 /dev/xvda
    在这里插入图片描述

  6. 启动原EC2实例,连接测试

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值