我想通过 ssh从一个用户/客户端组合(例如, user1@cl
)访问用户/服务器组合(例如, ),具有两种不同类型的访问:user2@srv
访问类型 #1 将仅限于与集市存储库的交互。为此,我在
~user2/.ssh/authorized_keys
like 中添加了一行(#1)command="bzr serve --inet --directory=/repodir --allow-writes",no-port-forwarding,no-X11-forwarding,no-agent-forwarding ssh-rsa ... user1@cl
访问类型 #2 将是登录 shell。为此,我添加了一个“常规”行(#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
https://serverfault.com/questions/142997/what-options-can-be-put-into-a-ssh-authorized-keys-file
https://serverfault.com/questions/749474/ssh-authorized-keys-command-option-multiple-commands
我使用两个不同的密钥对(例如,第 1
bzr
对用于登录,第 2 对用于ssh
登录)使其工作。我在~user2/.ssh/authorized_keys
. 私钥 1 存储在 file 中id_rsa
(默认读取),私钥 2 存储在 file 中id_rsa_ssh
。然后,
bzr
工作正常,我使用登录这表明使用替代身份。