翼度科技»论坛 编程开发 python 查看内容

设置chroot环境ssh直通

4

主题

4

帖子

12

积分

新手上路

Rank: 1

积分
12
前言

该方案实现的效果就是通过指定用户名可以直接ssh连接到某个linux机器中的chroot开发环境,在 ubuntu 22.04 环境测试通过
流程

首先我们需要有个现成的 chroot 环境,我这里是 debian10-aarch64 文件夹,如果你没有可以参考我先前的文章制作一个:
https://www.cnblogs.com/magicdmer/p/17640427.html
这个环境不要位于某个用户目录下,最好位于 opt 这种顶层目录下,不然会出现各种权限导致的 ssh 无法连接的问题
然后我们需要设置 chroot 环境文件夹的权限为 755,接着设置其 owner 为 root:root
  1. chmod 755 -R debian10-aarch64
  2. chown root:root -R debian10-aarch64
复制代码
然后我们在外面系统创建一个用户名,这里我创一个用户 debian10
  1. adduser debian10
复制代码
然后我们 cd 到 chroot 环境的 home 目录,创建一个 debian10 用户名文件夹当做其 chroot 环境的用户目录,然后修改其 owner 为 debian10:debian10
接着我们配置 ssh 配置文件,在最下面加入
  1. Match User debian10
  2.         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 即刻生效,添加下面这条:
  1. debian10  ALL=(ALL:ALL) NOPASSWD:ALL
复制代码
然后我们就可以 ssh 上去,使用 sudo -i 来切换到 root 用户,或者使用 sudo 指令来执行一些命令了

来源:https://www.cnblogs.com/magicdmer/p/17775315.html
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!

举报 回复 使用道具