我想通过SSH访问一个用户/客户端组合(例如user1@cl
)到用户/服务器组合(例如user2@srv
),并具有两种不同类型的访问:
-
访问类型#1将仅限于与集市存储库的交互。为此,我在
~user2/.ssh/authorized_keys
中添加了一行(#1)command="bzr serve --inet --directory=/repodir --allow-writes",no-port-forwarding,no-X11-forwarding,no-agent-forwarding ssh-rsa ... user1@cl
-
访问类型#2将是登录外壳。为此,我在
~user2/.ssh/authorized_keys
中添加了一个"常见"行(#2)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 ...
有什么办法可以解决问题?
我正在使用Rhel7,但我想这并不重要。
相关的帖子(但据我了解,但没有解决我的案件):
在一个客户端上使用多个SSH私钥的最佳方法
https://serverfault.com/questions/142997/what-poptions-can-be-be-be-be-put-into-a-a-ssh-sh-sh-sh-sh- othorized-keys-file
https://serverfault.com/questions/749474/ssh-authorized-keys-command-option-multiple-commands
https://askubuntu.com/questions/1962/how-can-multiple-private-keys-bey-be-be-be-sh-ssh
我使它起作用,具有两个不同的密钥对(例如, bzr
的对1, ssh
登录的配对2)。我在~user2/.ssh/authorized_keys
中添加了相应的行。私有密钥1存储在文件id_rsa
中(默认情况下会读取),私钥2存储在文件id_rsa_ssh
中。
然后, bzr
正在正常工作,并且用于登录i使用
[user1@cl]$ ssh -i id_rsa_ssh user2@srv
表示使用替代身份。