在Linux中,使用SSH服務器進行密鑰認證可以提高安全性,因為它消除了對密碼的依賴
安裝OpenSSH服務器: 對于大多數Linux發行版,OpenSSH服務器已經預裝。如果沒有,請使用以下命令安裝:
sudo apt-get install openssh-server (Debian/Ubuntu)
sudo yum install openssh-server (CentOS/RHEL)
創建SSH密鑰對: 在客戶端計算機上,打開終端并運行以下命令以創建一個新的SSH密鑰對:
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
按照提示操作,你可以選擇自定義密鑰文件的保存位置和設置密碼保護。
將公鑰復制到SSH服務器:
在客戶端計算機上,將公鑰(默認為~/.ssh/id_rsa.pub
)復制到SSH服務器的~/.ssh/authorized_keys
文件中。你可以使用以下命令將公鑰追加到遠程服務器的授權密鑰文件中:
ssh-copy-id user@ssh_server_ip
其中user
是服務器上的用戶名,ssh_server_ip
是服務器的IP地址。在提示時輸入服務器密碼。
配置SSH服務器:
編輯服務器上的/etc/ssh/sshd_config
文件,確保以下設置已啟用(刪除或注釋掉前面的#
):
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
PasswordAuthentication no
這將允許使用密鑰認證而不是密碼認證。
重啟SSH服務: 保存更改后,重啟SSH服務以應用新的配置:
sudo systemctl restart ssh
現在,當客戶端嘗試通過SSH連接到服務器時,它將使用密鑰認證。如果密鑰認證失敗,客戶端將收到一條錯誤消息,要求輸入用戶名。