Назад | Перейти на главную страницу

«Половинная» авторизация ssh на сервере с репозиторием git

В настоящее время я приобрел веб-хостинг с доступом по ssh.

Я создал на нем репозиторий git, и если я установил свой открытый ключ в ~/.ssh/authorized_keys файл, у меня есть доступ к этому репо, я могу отправлять / извлекать данные и т. д.

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

Но есть одна вещь, которой я хочу избежать. Каждый пользователь может войти на сервер и получить доступ ко всей учетной записи ssh.

Можно ли создать черный список ключей пользователей, у которых не будет доступа к ssh?

Я так вижу:

Возможно ли это каким-либо образом?

Вместо простого использования git вам следует изучить использование Гитолит. Gitolite разработан для такого типа аутентификации на основе SSH без предоставления настоящего SSH-доступа к машине. Он также несет с собой некоторые дополнительные преимущества, такие как строгие списки ACL и разрешения для каждого тега и ветки.

Вы также можете использовать Гитоз который имеет гораздо более широкое применение, но автор рекомендует использовать Gitolite для дополнительной функциональности.

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

chsh -s /sbin/nologin {username}

Не связывайтесь с файлами профиля (.profile, .bash_profile, .bashrc и т. Д.). Они не предназначены для ограничения входа в систему.