與 ssh 混淆 - 權限被拒絕(公鑰)

與 ssh 混淆 - 權限被拒絕(公鑰)

如何在 Debian 上正確設定 open-ssh。我一切正常 - 使用身份驗證金鑰登入(PasswordAuthentication 設定為 no)然後突然我得到一個權限被拒絕(公鑰)。所以我在伺服器和遠端客戶端卸載了ssh。然後讓自己陷入困境 - 重新安裝無法在根或用戶層級設定 .ssh 目錄。

歷史:

我在我的伺服器上安裝了 open-ssh - 作為 root 我在我的遠端客戶端電腦上安裝了 open-ssh - 作為 root

我以 root 身分在我的伺服器上產生了我的公鑰和私鑰。
我在遠端電腦上以 root 身分產生了公鑰和私鑰

我以使用者身分在伺服器上的 .ssh 目錄中建立了一個授權金鑰文件,並將其複製到遠端電腦的公鑰中

我修改了 ssh 設定檔以不允許密碼登入

我的問題:

您必須始終以 root 身分安裝 open-ssh 嗎?

如果是這樣,這是否會傳播到所有用戶,授予他們接受 ssh 連線的權限?

您是否以根使用者身分或使用者層級建立授權金鑰檔案?

我卸載了所有內容*,apt-get purge openssh-client但它留下了 .ssh 目錄。這是 Linux 上的常見做法嗎?

乾杯

答案1

您的理解中似乎缺少一些要素 -

實際上,您確實需要以 root 身分安裝 open ssh - 預設情況下,它在僅限 root 的連接埠 22 上進行通訊。您可以將其設定為在高於 1024(通常為 2222)的非標準連接埠上進行回應。

ssh 不會「向下傳播」—它作為守護程序運行。但是,它通常會在使用者主目錄中尋找 ~user/.ssh/authorized_keys

您通常會為系統上的每個使用者建立一個authorized_keys 檔案。請注意,SSH 伺服器也有自己的金鑰,通常可以在 /etc/sshd 中找到

如果除了 SSH 之外沒有任何東西,您不需要安全地手動刪除主目錄中的 .ssh 金鑰。保留它們也可以,因為客戶端和伺服器是兩個不同的東西,但在某些情況下都使用相同的目錄。

鑰匙處理 -

您通常會在客戶端上建立私鑰和公鑰,然後將公鑰新增至伺服器的 ~user/.ssh/authorized_keys - 您不需要在伺服器上為使用者產生私鑰或公鑰 - 除非您另外希望該使用者將伺服器用作ssh 客戶端。

金鑰通常由所屬的使用者擁有,私鑰的權限為 600。

相關內容