从给定的用户1/客户端到同一user2/server的多个SSH访问类型



我想通过SSH访问一个用户/客户端组合(例如user1@cl)到用户/服务器组合(例如user2@srv),并具有两种不同类型的访问:

  1. 访问类型#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. 访问类型#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

表示使用替代身份。

最新更新