|
前言
该方案实现的效果就是通过指定用户名可以直接ssh连接到某个linux机器中的chroot开发环境,在 ubuntu 22.04 环境测试通过
流程
首先我们需要有个现成的 chroot 环境,我这里是 debian10-aarch64 文件夹,如果你没有可以参考我先前的文章制作一个:
https://www.cnblogs.com/magicdmer/p/17640427.html
这个环境不要位于某个用户目录下,最好位于 opt 这种顶层目录下,不然会出现各种权限导致的 ssh 无法连接的问题
然后我们需要设置 chroot 环境文件夹的权限为 755,接着设置其 owner 为 root:root- chmod 755 -R debian10-aarch64
- chown root:root -R debian10-aarch64
复制代码 然后我们在外面系统创建一个用户名,这里我创一个用户 debian10然后我们 cd 到 chroot 环境的 home 目录,创建一个 debian10 用户名文件夹当做其 chroot 环境的用户目录,然后修改其 owner 为 debian10:debian10
接着我们配置 ssh 配置文件,在最下面加入- Match User debian10
- ChrootDirectory /opt/debian10-aarch64
复制代码 然后我们将外面 linux 环境的 /etc/passwd 和 /etc/group 拷贝到 chroot 环境的 /etc 目录,这个步骤是为了解决 chroot 环境 ssh 上去后命令行只会显示一个 $ 而不是 debian10@xxxx$ 的问题
接着我们要解决 chroot 环境无法 su 到 root 用户的问题,这个需要我们先从外面 linux 环境使用 chroot 进去,这样我们默认就是 root 用户,就可以执行一些安装操作,我们需要安装一个 sudo,安装完后,我们需要修改 sudoer 文件,这里我们使用 visudo 指令来修改,这样方便 sudo 即刻生效,添加下面这条:- debian10 ALL=(ALL:ALL) NOPASSWD:ALL
复制代码 然后我们就可以 ssh 上去,使用 sudo -i 来切换到 root 用户,或者使用 sudo 指令来执行一些命令了
来源:https://www.cnblogs.com/magicdmer/p/17775315.html
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作! |
|