之前根据此篇教程实现了SSH,本教程区别如下:
- 非固化。最小化对原生固件和配置的更改。
- 非小白教程。这里假设你有Linux基础
- 无需计算初始密码
- 容器使用 linuxserver/openssh-server
主要步骤:
1. 开启 docker
2. 开启 SSH
一、开启 docker
容器使用 linuxserver/openssh-server,优点是开箱即用,先连接进入容器SSH(默认端口2222),再chroot对小米路由器进行配置。
1. 小米路由器启用 docker(已安装请忽略)
2. 安装管理器(已安装请忽略)
3. 拉取镜像 linuxserver/openssh-server
4. 运行镜像,选择【简单模式】
参数如下:
端口映射:2222:2222
环境变量:USER_NAME=mvsqr2;SUDO_ACCESS=true;PASSWORD_ACCESS=true;USER_PASSWORD=password
挂载目录:/mnt/usb-xxxx/mi_docker/../../../:/real_root/
注意:用户名、密码、挂载目录部分自己改一下。
二、开启SSH
1. 登录容器SSH(默认端口2222):ssh -p 2222 [email protected]
默认密码 password
2. 切换 root 账户: sudo -i
3. 将下面的脚本保存为文件,chomod +x 后直接运行,即可开启SSH。
后续需要复用的话,可以将此文件放置在 /real_root/mnt/usb-xxxx/ 中的某个目录下。
chroot /real_root /bin/ash -x << EOF
sed -i -E '/flg_ssh=`nvram get ssh_en`/,/fi$|^$/d' /etc/init.d/dropbear
/etc/init.d/dropbear start
echo -e 'password\npassword' | passwd root > /dev/null
EOF
登录路由器SSH,端口22,方式如常。
提示:某些终端可能需要下面的选项开启rsa算法的支持:
ssh -oHostKeyAlgorithms=+ssh-rsa [email protected]