【教程】DD 官网 Debian 11云镜像到小鸡

以 DHCP 获取 IPV4/IPV6 地址以及无后台 VNC 屏幕举例,支持 bios/efi 引导的小鸡,包括不限于:aws、az、gcp、龟壳、阿里云、腾讯云、等。

警告!此操作硬盘数据会全部丢失!
警告!此操作硬盘数据会全部丢失!
警告!此操作硬盘数据会全部丢失!

以实际硬盘是 vda举例 可通过 lsblk查看实际硬盘

1、首先给小鸡 DD个 OpenWrt内存系统

echo 1 > /proc/sys/kernel/sysrq
echo u > /proc/sysrq-trigger

curl -Lo- "https://drive.google.com/uc?export=download&id=1cZZlTQaD8ydPAaQYFMSvsDe3HAmqj64Z" | zcat | dd of=/dev/vda

 bs=1M

echo 1 > /proc/sys/kernel/sysrq
echo b > /proc/sysrq-trigger

2、等待 1-3分钟重启进入 OpenWrt内存系统
ssh地址:你小鸡 IPV4 or IPV6地址
ssh账号:root
ssh密码:hostloc.com

3、DD Debian官方最新系统到小鸡硬盘

3.1、DD原始 raw镜像(2G 不利于网络传输 他不需要解压 CPU占用很小)

curl -Lo- "https://cloud.debian.org/images/cloud/bullseye/latest/debian-11-genericcloud-amd64.raw" | dd of=/dev/vda bs=1M


3.2、DD压缩后的 raw镜像 tar.xz格式(不到200M 网络传输快 CPU占用相对原始 raw镜像较高)

curl -Lo- "https://cloud.debian.org/images/cloud/bullseye/latest/debian-11-genericcloud-amd64.tar.xz" | tar -xJO | dd of=/dev/vda bs=1M


4、DD完之后修复硬盘、重读分区并扩容

4.1、修复硬盘

parted -l

4.1、获取分区表

partprobe

4.2、查看实际硬盘名称

lsblk

4.3、扩容 Debian 11系统分区到最大

parted -s /dev/vda resizepart 1 100%

4.4、扩容 Debian 11系统分区的文件系统到最大

e2fsck -f /dev/vda1
resize2fs /dev/vda1

5、修改 ssh密码、密钥,并允许 ssh以密钥方式登录

5.1、挂载 Debian系统分区到 /mnt目录 并查看硬盘扩容是否成功

mount /dev/vda1 /mnt
df -h

5.2、ssh密码生成
root@debian:~# openssl passwd -1 hostloc.com
$1$DiGZGr2m$Ht8S5tfK9oXxLwp6LjPUT0

5.3、修改刚才 Debian的 ssh密码

sed -i 's/root:\*/root:$1$DiGZGr2m$Ht8S5tfK9oXxLwp6LjPUT0/g' /mnt/etc/shadow

5.4、添加 ssh登录公钥

rm -rf /mnt/root/.ssh/
mkdir /mnt/root/.ssh/
echo "ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAxbMN/h4PR+XVhpdUze/eEwxf5vw1aC0PwVdIwqsYq78A3F0wvwAUN2DuPiDhArfN5HzN6ye1TPCaXhKYZM1wGHrWjFM64XuDT0sDuFVp67rLc9McJ4YAXChNQ51Y8LBss6nHiBDjDl6AobmQ67S2GTODiG3gILdiekluXS+FfaQNSPdfaHZIxTPQc/SuqyZGpSVyW9pSkVXVZn7/EO66+f1jULMt7EjFI8fBQuZlu9oCvodQyz6JMpIYRehZr8XfPaTX84XU9p3PbG9iulMh7yW1okEvGapTnuNTouZDLASAI8BvDXrw2wJiXeQ06dmsHXAfQwf3hzRUc0vFUErC3w== rsa 2048-011123" > /mnt/root/.ssh/authorized_keys
chmod 700 /mnt/root/.ssh/
chmod 600 /mnt/root/.ssh/authorized_keys

5.5、 只允许 root以密钥方式登录 ssh

sed -i 's/#PermitRootLogin/PermitRootLogin/g' /mnt/etc/ssh/sshd_config

6、在开机脚本添加 ssh主机密钥,非常重要!(开机连上 ssh之后就可以删除了,首次需要而已。)

cat <<EOF> /mnt/etc/rc.local
#!/bin/bash
/usr/bin/ssh-keygen -A
systemctl restart ssh
EOF

6.1、给开机脚本添加执行权限 否则无法运行

chmod +x /mnt/etc/rc.local

7、 禁用 cloud-init这就是母鸡给小鸡下发配置的后门

touch /mnt/etc/cloud/cloud-init.disabled

8、重启进入新系统……

reboot

补充:

这次的 OpenWrt内存系统镜像 使用 Grub引导 vmlinuz内核 加载 initrd.gz 进入 OpenWrt内存系统

menuentry ‘OpenWrt Minimalist in-memory diskless Linux distribution based’ {
insmod part_msdos
insmod fat
insmod ext2
set root='(hd0,msdos1)’
linux /vmlinuz
initrd /initrd.gz
}

给TA打赏
共{{data.count}}人
人已打赏
网络技巧网络随笔

(解决方案) node: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.28‘ not found (node required by node)

2023-3-2 21:19:23

网络技巧

Linux reinstall:一款功能强大的服务器系统一键重装脚本

2023-3-3 10:26:42

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索