從給定的 user1/client 到同一個 user2/server 的多種 ssh 訪問類型
我想通過 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
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。我不確定哪個是最合適的,因為這個問題並不完全與 Ubuntu 相關(也許 Linux 可能是一個很好的目標)。
我使用兩個不同的密鑰對(例如,第 1
bzr
對用於登錄,第 2 對用於ssh
登錄)使其工作。我在~user2/.ssh/authorized_keys
. 私鑰 1 儲存在 file 中id_rsa
(預設讀取),私鑰 2 儲存在 file 中id_rsa_ssh
。然後,
bzr
工作正常,我使用登錄[user1@cl]$ ssh -i id_rsa_ssh user2@srv
這表明使用替代身份。