????????要在linux系統中禁止密碼登錄,您可以通過修改 SSH 配置來實現。請按照以下步驟操作(此處以 Ubuntu為例):
1、SSH 登錄到您的服務器(或直接在命令行模式下)。
2、備份 SSH 配置文件:
在終端中運行以下命令以備份現有的 SSH 配置文件:
sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak
3、編輯 SSH 配置文件:
使用您喜歡的文本編輯器打開 SSH 配置文件,例如使用 vi:
sudo vi /etc/ssh/sshd_config
4、更改或添加以下行:
找到并修改(或添加)以下行:
PasswordAuthentication no
如果也希望禁用通過 SSH 密鑰的登錄,您可以設置:
PubkeyAuthentication yes
5、保存并關閉文件:
如果使用 vi編輯器,您可以按 esc,然后按輸入:wq和回車鍵,寫入保存并退出。
6、重啟 SSH 服務:
為使更改生效,您需要重啟 SSH 服務:
sudo systemctl restart ssh
測試連接:
確保您可以通過 SSH 密鑰登錄,并且密碼登錄已被禁用。
注意:確保在禁用密碼登錄之前,您已經配置好了 SSH 密鑰登錄。這可以防止您在無法訪問系統時被鎖定。
另外:通過以上配置,如果禁止密碼登錄,沒有生效的話,我們需要檢查一下/etc/ssh/sshd_config.d/目錄下有沒有50-cloud-init.conf文件,在這個文件里面添加如下設置:
PasswordAuthentication no
再次執行本文的5,6步驟,重新測試,即可成功,這是我使用的方法,此處進行一下記錄。
最后說明一下,我們可以查看 SSH 登錄相關的日志信息,可能會提供有用的調試信息。這些日志通常位于?/var/log/auth.log
,您可以使用如下命令查看:
sudo tail -f /var/log/auth.log