Рейтинг:1

Студенческий SSH-доступ непосредственно к контейнеру

флаг cn

Я преподаю в местном колледже курс системного администрирования Linux. У некоторых студентов в классе нет готового доступа к установке Linux, поэтому в колледже есть SSH-сервер, к которому они могут получить доступ для выполнения лабораторных работ, экспериментов и т. д. Естественно, мы не предоставляем студентам корневой доступ и т.д., что имеет очевидные педагогические ограничения.

Я размышлял над идеей, где студенты могут иметь свой собственный контейнер, где они могут иметь привилегии суперпользователя и т. д., чтобы я мог охватить более широкий круг тем. Мой опыт работы с контейнерами несколько ограничен, поэтому у меня есть несколько вопросов, с которыми я надеялся получить помощь:

  • Возможно ли, чтобы студенты подключались по ssh «напрямую» к контейнеру или им нужно было запускать контейнер при входе в систему. Обратите внимание, я не спрашиваю (например) о привязке контейнера к определенному порту, но возможно ли, чтобы их оболочка (/etc/passwd) была оболочкой контейнера или иным образом помещала их в контейнер сразу после входа в систему через параметр bash ?
  • Большую часть времени контейнеры запускаются эфемерно, но я, по сути, хочу, чтобы студенты могли иметь постоянный контейнер. Есть ли потенциальные проблемы с наличием постоянных контейнеров?
  • Мне кажется, что размещение учащегося в контейнере было бы более безопасным, чем наличие у него непривилегированного доступа к оболочке, но есть ли какие-либо недостатки безопасности при предоставлении учащимся root-доступа к контейнеру?

Студенты использовали систему Centos для своей работы ранее, и весь материал моего курса построен на Centos. Есть ли рекомендуемый образ контейнера, который я должен использовать? Подойдет ли в этой ситуации обычный образ docker/podman centos.

Спасибо за вашу помощь и предложения.

Рейтинг:1
флаг cn

Чтобы ответить на некоторые ваши вопросы:

  1. Вы сможете напрямую подключиться к контейнеру по SSH, если на нем запущена служба SSHD и порт сопоставлен. Каждому контейнеру нужен собственный порт, открытый на хосте, чтобы иметь возможность использовать SSH. Могут быть более сложные варианты с использованием SystemD и пользовательских логинов, но вы точно можете использовать SSH.
  2. Вы можете настроить контейнеры с томами для постоянного хранения, и если они не указаны, они обычно просто «останавливаются», а не останавливаются и удаляются. Так что да, они могут быть стойкими.
  3. На самом деле, в зависимости от того, как запускается контейнер, это может быть не так! Предоставление кому-либо root-доступа в контейнере может быть почти таким же, как предоставление ему root-доступа на хосте — здесь обязательно будут другие ответы на этот счет.
  4. У Centos есть официальный образ контейнера, он будет центос: 7 или же центос:8 скорее всего.

Другой вариант — выяснить, могут ли некоторые из крупных облачных провайдеров создавать образовательные учетные записи, чтобы разрешить доступ к ограниченному набору ресурсов? Таким образом, студенты могли развернуть среду, предварительно настроенную в облаке, и получить к ней доступ из любого места (одновременно приобретая некоторые навыки работы с облачными технологиями!). Я ожидаю, что у всех больших 3 (amazon/google/microsoft) будет что-то доступное.

флаг in
Если кто-то увидит сообщение об ошибке «Ошибка записи /proc/self/loginuid» при запуске sshd в контейнере с Podman, воспользуйтесь этим советом по устранению неполадок: https://github.com/containers/podman/blob/main/troubleshooting. .md#32-процесс-sshd-не удается запустить-внутри-контейнера

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.