Я пытаюсь настроить SSH-сервер, который при попытке соединения с правильным открытым ключом создаст новую учетную запись пользователя, если она не существует.
При подключении я бы хотел, чтобы для этого пользователя был запущен специальный скрипт, который после выхода отключил бы их.
Суть этого в том, чтобы иметь сервер, который будет запускать указанный скрипт для тех, кто подключается, но с собственной учетной записью для небольших сохраняемых файлов.
В настоящее время я использую Ubuntu 14.10 только с CLI.
Меня не особо беспокоит безопасность машины, поскольку она будет использоваться только для игр и не содержит моих личных данных.
РЕДАКТИРОВАТЬ: Хотя я чувствую, что этот вопрос все еще будет полезен, если на него дан ответ в его первоначальной форме, я нашел обходной путь, который мне сейчас подходит: вместо того, чтобы ssh делал всю работу по настройке пользователей на лету, вы можете настроить доступ одного пользователя через ssh, и сценарий запуска этого пользователя может быть сценарием, который управляет учетными записями пользователей, создает их по мере необходимости и затем подключает пользователя к правильной системе файловых каталогов для своей «учетной записи».
Я нашел обходное решение, которое подходит мне на данный момент: Вместо того, чтобы иметь ssh делают всю работу установки пользователей на лету: можно установить одного пользователя, чтобы быть доступными через ssh:
редактирование /etc/ssh/sshd_config
добавление строки 'AllowUser <username here>'
и что сценарий запуска пользователя может быть тем, который управляет учетными записями пользователей, создавая их по мере необходимости, и затем подключая пользователя к корректной системе каталогов файла для их "учетной записи".
Для установки сценария для выполнения за определенным пользователем, соединяющимся через SSH:
редактирование /etc/ssh/sshd_config
добавление строк:
Match user username
ForceCommand /path/to/script
, Где имя пользователя является тем, требуется вызвать команду на.
Еще один способ сделать это: пусть один пользователь создает учетные записи, дает ему открытый ключ, а затем вместо того, чтобы давать ему /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
Скрипт поймает ввод и выполнит его, а затем завершит работу.