使用私有憑證的 ssh 存取可以從本機主機進行,而不是從遠端進行

使用私有憑證的 ssh 存取可以從本機主機進行,而不是從遠端進行

我是 Gnu/Linux 和 UNIX 的菜鳥。我正在玩遊戲來學習這個作業系統的基礎知識。

作為我正在玩的遊戲的一部分,我必須使用 登入遠端伺服器ssh,只有私鑰憑證和使用者名稱(無密碼)。

  • 如果我從遠端電腦(我使用另一個使用者名稱登入)使用 SSH 登錄,我將被授予無需任何密碼的存取權限。
  • 如果我嘗試從本機電腦登錄,SSH 會要求我輸入密碼。

這是我嘗試訪問的伺服器的 SSH 配置的結果嗎?
我的意思是,如果我從本機主機(在本例中為伺服器)登入以及從遠端電腦(在本例中為我的 PC)登錄,SSH 可以應用不同的登入策略嗎?

多謝。
親切的問候。

答案1

這是我嘗試訪問的伺服器的 SSH 配置的結果嗎?

根據您分享的詳細信息,我們無法確定。您甚至可能連接到在同一系統上執行的兩個不同的、獨立配置的 SSH 守護程式。

我的意思是,如果我從本機主機(在本例中為伺服器)登入以及從遠端電腦(在本例中為我的 PC)登錄,SSH 可以應用不同的登入策略嗎?

是的,SSH 伺服器可以根據傳入連線的各種屬性應用不同的策略。

例如,MatchOpenSSH 配置中的關鍵字sshd允許您定義條件區塊,這些條件區塊僅在滿足指定條件列表時才套用(並覆蓋先前設定的指令)(有關詳細信息,請參閱man 5 sshd_config)。

將此區塊新增至/etc/ssh/sshd_config(確切位置可能會有所不同,具體取決於您的系統):

PubkeyAuthentication yes

Match Address "!127.0.0.1,!::1,*"
    PubkeyAuthentication no

將指示sshd

  • 預設允許公鑰認證;
  • 127.0.0.1禁止對來自和之外的其他地址的連接進行公鑰身份驗證::1

(避免頭痛的注意事項:如man 5 ssh_config、「模式」、

[...] 否定的配對本身永遠不會產生正面的結果。 [...]此處的解決方案是包含一個將產生正匹配的術語,例如通配符[...]

這就是為什麼在其末尾"!127.0.0.1,!::1,*"包含 a )。*

相關內容