Ssh

從給定的 user1/client 到同一個 user2/server 的多種 ssh 訪問類型

  • February 16, 2021

我想通過 ssh從一個使用者/客戶端組合(例如, user1@cl)訪問使用者/伺服器組合(例如, ),具有兩種不同類型的訪問:user2@srv

  1. 訪問類型 #1 將僅限於與集市儲存庫的互動。為此,我在~user2/.ssh/authorized_keyslike 中添加了一行(#1)
command="bzr serve --inet --directory=/repodir --allow-writes",no-port-forwarding,no-X11-forwarding,no-agent-forwarding ssh-rsa ... user1@cl
  1. 訪問類型 #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 授權密鑰文件中?

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 可能是一個很好的目標)。

我使用兩個不同的密鑰對(例如,第 1bzr對用於登錄,第 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

這表明使用替代身份。

引用自:https://serverfault.com/questions/870296