在SFTP配置中啟用公鑰認證可以提高安全性,以下是具體步驟:
生成SSH密鑰對
ssh-keygen
命令生成一對公鑰和私鑰。ssh-keygen -t rsa -b 4096 -m PEM -f ~/.ssh/id_rsa
id_rsa
(私鑰)和id_rsa.pub
(公鑰)文件。將公鑰復制到服務器的授權密鑰文件中
id_rsa.pub
的內容追加到服務器用戶的~/.ssh/authorized_keys
文件中。cat ~/.ssh/id_rsa.pub | ssh user@server 'cat >> ~/.ssh/authorized_keys'
~/.ssh
目錄和authorized_keys
文件的權限正確:chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
配置SSH服務器以使用公鑰認證
/etc/ssh/sshd_config
。sudo nano /etc/ssh/sshd_config
PubkeyAuthentication yes
#
):AuthorizedKeysFile .ssh/authorized_keys
重啟SSH服務
sudo systemctl restart sshd
將私鑰添加到SSH代理
ssh-agent
),可以將私鑰添加到代理中。eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_rsa
配置SSH客戶端使用私鑰
~/.ssh/config
中添加以下內容(如果文件不存在,可以創建一個):Host your_server_hostname
HostName your_server_ip_or_hostname
User your_username
IdentityFile ~/.ssh/id_rsa
sftp your_username@your_server_hostname
通過以上步驟,你應該能夠在SFTP配置中成功啟用公鑰認證。這樣可以提高連接的安全性,并減少密碼泄露的風險。