У меня ubuntu 17.10, и я пытаюсь настроить контейнеры, в которые люди могут подключаться по ssh из-за пределов моей сети. Я попытался установить контейнеры LXD, и друг попытался использовать ssh, но он говорит, что соединение отклонено. Я нормально меняю программное обеспечение, если есть способ лучше.
Я написал сценарий шлюза/перехода, позволяющий перенаправлять входящие ssh-соединения на определенные контейнеры LXD: https://github.com/Dweller/lxd-ssh-gateway
. ]Из README проекта:
Переадресация входящих ssh-соединений для одного пользователя в контейнеры
Очень простой пример, демонстрирующий концепцию..
Мои рекомендации по конфигурации хоста LXD для /etc/ssh/sshd_config:-
Аутентификация по паролю нет PermitUserEnvironment да
Затем добавьте пользователя «песочницы» на свой Linux-сервер...
Затем установите ~sandbox/bin/gw, ~sandbox/etc/notice и ~sandbox/.ssh/authorized_keys Ограничение этого метода — ключ может использоваться только для пересылки в один контейнер. См. author_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 запустить ubuntu:20.10 container-X
Предполагая, что все установлено и работает, некоторые примеры использования:-
ssh -i ~/.ssh/priv.key sandbox@
sftp -i ~/.ssh/priv.key sandbox@ scp -i ~/.ssh/priv.key /etc/hosts sandbox@ :