Автоматическое создание пользователя для SSH-сервера?

Я пытаюсь настроить SSH-сервер, который при попытке соединения с правильным открытым ключом создаст новую учетную запись пользователя, если она не существует.

При подключении я бы хотел, чтобы для этого пользователя был запущен специальный скрипт, который после выхода отключил бы их.

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

В настоящее время я использую Ubuntu 14.10 только с CLI.

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

РЕДАКТИРОВАТЬ: Хотя я чувствую, что этот вопрос все еще будет полезен, если на него дан ответ в его первоначальной форме, я нашел обходной путь, который мне сейчас подходит: вместо того, чтобы ssh делал всю работу по настройке пользователей на лету, вы можете настроить доступ одного пользователя через ssh, и сценарий запуска этого пользователя может быть сценарием, который управляет учетными записями пользователей, создает их по мере необходимости и затем подключает пользователя к правильной системе файловых каталогов для своей «учетной записи».

2
задан 25 July 2017 в 13:31

2 ответа

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

редактирование /etc/ssh/sshd_config добавление строки 'AllowUser <username here>'

и что сценарий запуска пользователя может быть тем, который управляет учетными записями пользователей, создавая их по мере необходимости, и затем подключая пользователя к корректной системе каталогов файла для их "учетной записи".

Для установки сценария для выполнения за определенным пользователем, соединяющимся через SSH:

редактирование /etc/ssh/sshd_config добавление строк:

Match user username
    ForceCommand /path/to/script

, Где имя пользователя является тем, требуется вызвать команду на.

1
ответ дан 25 July 2017 в 13:31

Еще один способ сделать это: пусть один пользователь создает учетные записи, дает ему открытый ключ, а затем вместо того, чтобы давать ему /bin/bash для входа в систему, вы можете дать ему сценарий, который создаст пользователя, а затем после выполнения скрипта прервет соединение.

Должна быть возможность создать текстовый файл, в который вы поместите информацию и введете имя пользователя и пароль, точно так же, как на консоли.

Такой текстовый файл

jim <return>
a3drtZdf <return>

и скрипт может иметь read -p "имя пользователя" $USER и read -p пароль $PASS, а затем будет использовать эти значения в скрипт для adduser -u $USER -p $PASS

Не уверен, что он будет работать, но на самом деле должен. Я сделал нечто подобное, но не то же самое.

Так что в конце концов вы бы сделали

ssh useradd@example.com < values.txt -i id_rsa_useradd

Скрипт поймает ввод и выполнит его, а затем завершит работу.

0
ответ дан 20 February 2020 в 16:12

Другие вопросы по тегам:

Похожие вопросы: