У меня есть сервер Ubuntu, который используется моими учениками для двух основных целей:
.m
файлы и выходные изображения, это просто мое исходное изображение, которое они пропустили через свой код).Все студенты должны сгенерировать пару открытого / закрытого ключей, они дают мне открытый ключ, который я добавляю в authorized_keys
файлы для своей учетной записи на моем сервере Ubuntu. Они должны иметь закрытый ключ, зашифрованный с помощью надежного пароля, и не передавать его другим студентам.
В настоящее время у меня есть единственная запись в authorized_keys
для каждой учетной записи с префиксом no-pty
, чтобы студенты могли войти на сервер в качестве прокси и использовать SFTP для загрузки файлов на сервер. Это именно та установка, которая мне нужна.
Однако в дальнейшем я могу включить telnet и FTP на сервере для ограниченного числа учетных записей. Если я хочу запретить какой-либо службе иметь интерактивную оболочку, я могу просто добавить /sbin/nologin
или /dev/null
к /etc/shells
и установите оболочку по умолчанию для отдельных пользователей на /etc/passwd
, но это нарушает настройку прокси и SFTP, но, очевидно, позволяет FTP работать без интерактивного входа в систему.
Есть ли способ просто установить «без интерактивных оболочек» в одном месте, или мне следует отказаться от настройки telnet и FTP и просто придерживаться своих настроек SFTP? Единственная причина, по которой я рассматриваю FTP и telnet, которые, насколько мне известно, гораздо менее безопасны, чем SFTP, заключается в том, что некоторые студенты используют брандмауэры, которые предотвращают исходящие соединения SSH.
Спасибо.