设置容器

设置容器

我有 ubuntu 17.10,我正在尝试设置容器,以便人们可以从我的网络外部 ssh 进入。我尝试安装 LXD 容器,并让一个朋友尝试 ssh 进入它,但它说连接被拒绝。如果有更好的方法,我愿意更换软件。

答案1

我编写了一个网关/跳转脚本,允许传入的 ssh 连接被路由到特定的 LXD 容器:https://github.com/Dweller/lxd-ssh-gateway

来自项目的自述文件:

将单个用户的传入 ssh 连接转发到容器中

非常简单的例子,阐明了这个概念。

我对 /etc/ssh/sshd_config 的 LXD 主机配置的建议是:-

PasswordAuthentication no
PermitUserEnvironment yes

然后在您的 Linux 服务器上添加一个“沙盒”用户...

然后安装 ~sandbox/bin/gw、~sandbox/etc/notice 和 ~sandbox/.ssh/authorised_keys 此方法的限制是密钥只能用于转发到单个容器。请参阅 authorized_keys.example 了解 command="$HOME/bin/gw ssh-rsa 语法。

确保权限/所有权正确。

#chown -R sandbox:sandbow ~sandbow
#chmod -R g-rewx,o-rwx ~ssandbox/bin

我一直在构建的容器是 Ubuntu 20.10,它们不需要运行 ssh 即可工作,也不需要网络。

例如

#lxc launch ubuntu:20.10 container-X

假设所有安装和运行都已完成,下面是一些使用示例:-

ssh -i ~/.ssh/priv.key sandbox@<host address/ip>
sftp -i ~/.ssh/priv.key sandbox@<host address/ip>
scp -i ~/.ssh/priv.key /etc/hosts sandbox@<host address/ip>:

相关内容