Очень часто возникают ситуации, когда необходимо прописать одни и те же SSH ключи сразу для нескольких учётных записей (но не всех), поэтому в данном HOWTO мы подробно рассмотрим как это следует делать правильно.
Введение
Некоторые администраторы просто копируют в каждый домашний каталог содержимое ~/.ssh/authorized_keys, однако, это неправильно, ибо исключает возможность быстрого удаления например скомпрометированных или добавления новых ключей.
Способ 1. Наиболее правильный.
Создадим специальную группу с любым названием (например, webmasters):
sudo addgroup webmasters
Добавим всех нужных пользователей в нашу группу (вместо user укажите логин нужного пользователя):
sudo adduser user webmasters
Теперь необходимо создать файл с ключами, которые будут разрешены для указанной группы. Сохраните его например как /etc/webmaster_keys (права доступа 644, группа и владелец — root).
Откроем главный конфигурационный файл OpenSSH /etc/ssh/sshd_config в любом текстовом редакторе (я предпочитаю vim):
sudo vim /etc/ssh/sshd_config
В самом конце файла создадим новую группу:
Match Group webmasters ChrootDirectory %h AllowTCPForwarding no AuthorizedKeysFile /etc/webmaster_keys
Здесь мы создаём новую группу, для которой будут разрешены ключевые файлы, прописанные в файле /etc/webmaster_keys. Также для членов группы будет применено chroot-окружение в домашнем каталоге (директива ChrootDirectory) и запрещено перенаправление портов, в т.ч. и SSH-туннелинг (директива AllowTCPForwarding). Если этого вам не требуется — оставьте только AuthorizedKeysFile.
Перезапустите сервис SSH для того, чтобы изменения вступили в силу.
Внимание! Старые версии OpenSSH не позволяют использовать директиву AuthorizedKeysFile внутри групп, поэтому сервис может и не стартовать. В таком случае отмените изменения и перейдите к другому способу.
Способ 2. Для устаревших версий sshd.
Точно также создайте файл с разрешёнными ключами например в /etc/webmaster_keys (права доступа 644, группа и владелец — root).
Создайте симлинки в домашних каталогах нужных пользователей (замените user на логин нужного пользователя):
sudo ln -s /etc/webmaster_keys /home/user/.ssh/authorized_keys
Перезапускать сервис SSH не требуется.