Dwi*_*cer 5 shell ssh lxc deployment docker
我正在尝试设置一个系统,该系统会在 ssh 登录时自动创建一个新沙箱,以用作进入我的服务器的临时跳箱。所以要做到这一点,我想知道如何设置 lxc 以在有 ssh 连接时在容器中启动一个新的 shell,然后在会话关闭后销毁该容器。
解决这个问题的最佳方法是什么?
编辑:
感谢所有提出意见的人。我已经能够设计方法来执行相同的设置,如下所示:
/etc/ssh/sshd_config:
match group ssh
forceCommand sudo docker run --rm -t -i busybox /bin/sh
这样做是强制用户会话立即进入一个 busybox 容器,然后在退出时删除更改。人们可以更改或创建自己的图像并指定它来代替busybox。虽然这被包含在这里,因为默认的 busybox 容器提供的唯一东西是 wget 和 telnet,这对于大多数 OOB 测试/跳转框来说已经足够了,这是这个设计的用例目标。
好的,您的主要问题似乎不是您执行此操作的方式。这是比较容易有ForceCommand一个内部Match的块sshd_config。
为了做你想做的事情,即使用后“自毁”的一次性容器,你可以使用lxc-start-ephemeral. 也就是说,您的用例已经在 LXC 用户空间工具集中考虑过。唯一要注意的是:您的 LXC 版本需要足够新。
还有一件事。您需要一个容器lxc-start-ephemeral作为临时克隆启动的基础。可以在 的手册页中找到更多详细信息lxc-start-ephemeral。