Day Mode Night Mode
救援模式下启动sshd服务

在工作当中,经常可以遇到系统出现了某些问题,仅能在救援模式下进入系统,此时系统没有正常启动,通常来说网络和服务都不可用,如果需要通过ssh协议进行数据备份的情况,就需要手动根据不同的情况启动服务,下面介绍如何在救援模式启动sshd服务。

首先需要进入grub内,修改通用参数为ro init=/bin/bash,此处不过多介绍

进入救援模式之后,首先需要修改环境变量,确保可以正常执行某些命令

export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

修改PATH变量之后,系统内的命令均可执行,接着查看网卡的接口状态,执行以下命令

ip link show 

如果网卡接口没有出现up,就需要手动启动网络接口,执行以下命令

ip link set ens3 up
ip link set lo up
根据不同的接口,进行针对性的修改,目前观察云上环境,若只有一个网卡,则救援模式下接口名称均为ens3

启动网络接口之后,网卡还没有获取到地址,需要执行下面的命令通过dhcp获取网络信息

dhclient ens3

通常执行上面的命令之后,网络已经恢复正常,此时可以ping测试,需要注意的ubuntu和debian在救援模式下无法执行CTRL+C,所以不建议从内部ping外面测试,以及执行其他需要CTRL+C结束的命令

若网络验证无问题,最后就可以手动启动sshd服务了,执行下面的命令

/usr/sbin/sshd -D
或
/usr/sbin/sshd -D &

此时可以从外部ssh远程连接服务器,sftp也同样可用

以上的 方案在hce2.0,centos 8,ubunu 22.04,debian 12均验证可行

下面是救援模式的部分常用命令:

exec /lib/systemd/system 临时从当前shell启动systemd,仅建议在系统被破坏,病毒入侵情况当中使用
exec=/sbin/init 从救援模式到正常的系统
export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin 修改环境变量
挂盘切根:
mount /dev/vdx /mnt
mount --bind /dev /mnt/dev
mount --bind /proc /mnt/proc
mount --bind /sys /mnt/sys
chroot /mnt
检查文件系统:
fdisk -l      # 适用于 MBR
lsblk -f      # 显示分区及文件系统
blkid         # 显示分区 UUID
parted -l     # 适用于 GPT
grub引导修复:
grub-install --root-directory=/mnt /dev/vdx
用于在 /dev/vdx 设备上安装 GRUB,并将其引导文件写入 /mnt 目录(通常是已挂载的根文件系统,需注意dev/vdx是磁盘,不是分区。
grub-mkconfig -o /mnt/boot/grub/grub.cfg

评论

  1. Asher1137
    4 天前
    2025-4-15 14:32:45

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇