LINUX.ORG.RU

логин сразу по ключу для новых юзеров

 


0

1

Суп. Я хочу сделать чтобы у каждого нового юзера уже при создании сразу работал скрипт ssh-copy-id без необходимости переставлять sshd в авторизацию по паролю, для того чтобы юзер мог скопировать свой ключ туда первый раз. Как это лучше сделать? Я могу создать .ssh/authorized_keys в /etc/skel но вроде бы этого мало, ведь чтобы скопировать ключ нужен пароль.

Это не технический вопрос. Тебе надо определиться:

1) «новый юзер» это кто? Ещё одна учётка для тебя самого, или же реальный человек, которому выдали доступ?

2) Если человек, то он должен как-то и куда-то прислать свой публичный ключ. Куда ему/тебе будет удобнее?

После этого останется элементарный технический вопрос: присланный публичный ключ надо дописать в authorized_keys

firkax ★★★★★
()
Ответ на: комментарий от ya-betmen

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

justin_case
() автор топика
Ответ на: комментарий от justin_case

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

ya-betmen ★★★★★
()
Последнее исправление: ya-betmen (всего исправлений: 1)
Ответ на: комментарий от ya-betmen

каждый юзер должен иметь возможность через ссх заходить на каждый комп?

Да

И когда ты добавляешь новый комп на него должны приехать ключи всех юзеров

Нет, новый комп случается сильно реже чем новый юзер, это я переживу.

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

Да и не просто добавить ключ в существующего юзера а создать пользователя тоже под нужным именем, чтобы в итоге он мог заходить так ssh comp1 ssh comp2 итд

justin_case
() автор топика
Ответ на: комментарий от justin_case

Уже много компов откуда-то появилось, в изначально постановке такого не было. Тебе нужен сервер, который будет хранить централизованно список юзеров и их публичные ключи (на него их всё же надо будет прописывать руками, потому что где-то это надо сделать в первый раз), а на компах клиент к нему, который будет всё это к себе синхронизировать. Вариантов вобщем-то много.

firkax ★★★★★
()
Последнее исправление: firkax (всего исправлений: 1)
Ответ на: комментарий от firkax

Мне важно решить вопрос - как дать новому юзеру возможность скопировать свой собственный ключ. Если так возможно, то на «много компов» это применить будет не проблема.

И есть возможность подцепить их все хоть к виндовой AD, но это решит лишь проблему с созданием юзера, но никак не поможет с ключами.

Вариантов вобщем-то много.

Ну например какие?

justin_case
() автор топика
Последнее исправление: justin_case (всего исправлений: 1)
Ответ на: комментарий от ya-betmen

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

justin_case
() автор топика
Ответ на: комментарий от justin_case

Мне важно решить вопрос - как дать новому юзеру возможность скопировать свой собственный ключ. Если так возможно, то на «много компов» это применить будет не проблема.

А откуда у юзера вообще ключ берётся? У него свой комп (ещё один), на котором он его генерит и использует для удалённых подключений? Как ты вообще с этим самым юзером связываешься? Он приходит к тебе в офис работать, или может быть вы общаетесь через мессенджер?

firkax ★★★★★
()
Ответ на: комментарий от justin_case

ssh comp1 ssh comp2

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

ya-betmen ★★★★★
()
Ответ на: комментарий от justin_case

как дать новому юзеру возможность скопировать свой собственный ключ

Никак. Ключ - это атрибут аутентификации. То есть либо юзер отдает тебе ключ и ты при создании юзера этот ключ ему прописываешь, либо ты разрешаешь юзеру логиниться с паролем чтобы он сам мог прописать ключ.

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

no-dashi-v2 ★★
()

Я хочу сделать чтобы у каждого нового юзера уже при создании сразу работал скрипт ssh-copy-id без необходимости переставлять sshd в авторизацию по паролю…

Выглядит так, будто тебе нужна штука, которая бы приняла ключ у пользователя и положила бы его ему в каталог. Как удобнее это реализовать надо смотреть уже по ситуации.

altwazar ★★★★
()

Можно попробовать настроить на компе(компах?) почтовый сервер, который при получении письма от юзера с ключом, будет автоматически выполнять скрипт и делать всё что тебе нужно.

PS: Про безопасность всего этого дела разговор вроде не шел

Loki13 ★★★★★
()
Ответ на: комментарий от leave
  • Делаешь служебного пользователя на машине с ansible.
  • Выдаешь креды этого пользователя новому юзверю.
  • Юзверь заходит на сервер ansible и создает каталог, названием которого будет никнейм этого юзверя в дальнейшем.
  • Юзверь кладет в этот каталог ssh-key
  • По крону проверяешь наличие новых каталогов
  • Если каталог появился, запускаешь ansible playbook который по твоему инвентори создаст пользователей и распространит ключ.
knock
()
Ответ на: комментарий от knock

Второй вариант:

  • Сам заносишь в переменные ансибла никнейм юзверя.
  • Заносишь в переменные ансибла e-mail юзверя.
  • Запускаешь плейбук, который создаст пользователя на нужных машинах, распространит ssh-key и отправит ключ электро-почтой юзверю.
knock
()