在Debian系統上啟用SFTP公鑰認證,可以按照以下步驟進行操作:
首先,確保你已經安裝了openssh-server
。如果沒有安裝,可以使用以下命令進行安裝:
sudo apt update
sudo apt install openssh-server
如果你還沒有SSH密鑰對,可以使用以下命令生成:
ssh-keygen -t rsa -b 4096
按照提示操作,通常會生成兩個文件:~/.ssh/id_rsa
(私鑰)和~/.ssh/id_rsa.pub
(公鑰)。你可以選擇將公鑰添加到服務器的authorized_keys
文件中。
使用ssh-copy-id
命令將公鑰復制到服務器的~/.ssh/authorized_keys
文件中:
ssh-copy-id user@server_ip
其中,user
是你在服務器上的用戶名,server_ip
是服務器的IP地址。執行該命令后,系統會提示你輸入服務器用戶的密碼。
編輯服務器上的SSH配置文件/etc/ssh/sshd_config
,確保以下配置項正確設置:
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
PasswordAuthentication no # 如果你只想使用公鑰認證,可以禁用密碼認證
保存并關閉文件后,重啟SSH服務以應用更改:
sudo systemctl restart sshd
現在,你可以嘗試使用SFTP連接到服務器,驗證公鑰認證是否成功:
sftp user@server_ip
如果一切配置正確,你應該能夠無需輸入密碼即可登錄。
確保服務器的防火墻允許SSH連接。如果你使用的是ufw
,可以運行以下命令:
sudo ufw allow ssh
sudo ufw reload
如果你使用的是其他防火墻工具,請相應地配置規則。
通過以上步驟,你應該能夠在Debian系統上成功啟用SFTP公鑰認證。