Я хочу получить доступ от одной комбинации пользователь / клиент (скажем, 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 authorized_keys?
Параметр команды SSH authorized_keys: несколько команд?
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 для bzr
и пара 2 для ssh
авторизоваться). Я добавил соответствующие строки в ~user2/.ssh/authorized_keys
. Закрытый ключ 1 хранился в файле id_rsa
(который читается по умолчанию), а закрытый ключ 2 хранился в файле id_rsa_ssh
.
Затем, bzr
работал нормально, и для входа я использую
[user1@cl]$ ssh -i id_rsa_ssh user2@srv
что указывает на использование альтернативного идентификатора.