В настоящее время я приобрел веб-хостинг с доступом по ssh.
Я создал на нем репозиторий git, и если я установил свой открытый ключ в ~/.ssh/authorized_keys
файл, у меня есть доступ к этому репо, я могу отправлять / извлекать данные и т. д.
Это решение обеспечивает доступ для каждого пользователя, имеющего открытый ключ в authorized_keys
файл.
Но есть одна вещь, которой я хочу избежать. Каждый пользователь может войти на сервер и получить доступ ко всей учетной записи ssh.
Можно ли создать черный список ключей пользователей, у которых не будет доступа к ssh?
Я так вижу:
~/.profile
файл подключается и называется кастомным скриптом: ~/.ssh/blacklist_keys
позвони в баш exit
/logout
Возможно ли это каким-либо образом?
Вместо простого использования git вам следует изучить использование Гитолит. Gitolite разработан для такого типа аутентификации на основе SSH без предоставления настоящего SSH-доступа к машине. Он также несет с собой некоторые дополнительные преимущества, такие как строгие списки ACL и разрешения для каждого тега и ветки.
Вы также можете использовать Гитоз который имеет гораздо более широкое применение, но автор рекомендует использовать Gitolite для дополнительной функциональности.
Вы можете отключить вход в оболочку для определенного пользователя.
chsh -s /sbin/nologin {username}
Не связывайтесь с файлами профиля (.profile, .bash_profile, .bashrc и т. Д.). Они не предназначены для ограничения входа в систему.