Несколько типов доступа ssh от данного пользователя1/ клиента к одному пользователю2/ серверу
Я хочу получить доступ от одной комбинации пользователь / клиент (скажем, user1@cl
) к комбинации пользователь / сервер (скажем, user2@srv
) через SSH, с двумя различными типами доступа:
Тип доступа № 1 будет ограничен взаимодействиями с базарным хранилищем. Для этого я добавил строку (#1) в
~user2/.ssh/authorized_keys
лайкcommand="bzr serve --inet --directory=/repodir --allow-writes",no-port-forwarding,no-X11-forwarding,no-agent-forwarding ssh-rsa ... user1@cl
Тип доступа № 2 будет оболочкой входа в систему. Для этого я добавил "обычную" строку (#2) в
~user2/.ssh/authorized_keys
лайкssh-rsa ... user1@cl
Как я понимаю и как я проверял, обе строки не могут использоваться одновременно. Т.е. если строка # 1 появляется первой в ~user2/.ssh/authorized_keys
тогда я смогу взаимодействовать с репозиторием bzr, но я не смогу
[user1@cl]$ ssh user2@srv
Если строка № 2 появляется первой в ~user2/.ssh/authorized_keys
тогда я бы смог сделать ssh
, но любой bzr
операция дает
bzr: ERROR: Not a branch ...
Есть ли способ решить это?
Связанные посты (но не касающиеся моего случая, как я понимаю):
https://stackoverflow.com/questions/2419566/best-way-to-use-multiple-ssh-private-keys-on-one-client
Какие параметры можно поместить в файл авторизованного SSH-ключа?
Опция команды авторизованного ключа SSH: несколько команд?
https://askubuntu.com/questions/1962/how-can-multiple-private-keys-be-used-with-ssh
PS: Это также размещено на https://askubuntu.com/questions/949470/multiple-ssh-access-types-from-a-given-user1-client-to-the-same-user2-server. Я не был бы уверен, что является наиболее подходящим.
1 ответ
Я сделал это с двумя разными парами ключей (скажем, пара 1 для bzr
и пара 2 для ssh
авторизоваться). Я добавил соответствующие строки в ~user2/.ssh/authorized_keys
, Закрытый ключ 1 был сохранен в файле id_rsa
(который читается по умолчанию), а закрытый ключ 2 был сохранен в файле id_rsa_ssh
,
Затем, bzr
работал нормально, и для входа в систему я использую
[user1@cl]$ ssh -i id_rsa_ssh user2@srv
что указывает на использование альтернативной идентичности.