在CentOS系統中,使用SSH密鑰認證可以提供更安全的SFTP連接。以下是設置SSH密鑰認證的步驟:
首先,在客戶端機器上生成SSH密鑰對(如果還沒有的話)。打開終端并運行以下命令:
ssh-keygen -t rsa -b 4096
按照提示操作,通常會生成兩個文件:
~/.ssh/id_rsa
(私鑰)~/.ssh/id_rsa.pub
(公鑰)接下來,將生成的公鑰復制到CentOS服務器的~/.ssh/authorized_keys
文件中??梢允褂?code>ssh-copy-id命令來完成這一操作:
ssh-copy-id user@server_ip
其中,user
是你在服務器上的用戶名,server_ip
是服務器的IP地址。系統會提示你輸入服務器用戶的密碼。
確保服務器上的SSH配置允許密鑰認證。編輯服務器上的/etc/ssh/sshd_config
文件:
sudo vi /etc/ssh/sshd_config
找到并確保以下行沒有被注釋掉(即沒有以#
開頭):
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
保存并退出編輯器,然后重啟SSH服務以應用更改:
sudo systemctl restart sshd
現在,你可以嘗試使用SFTP連接到服務器,看看是否成功:
sftp user@server_ip
如果一切配置正確,你應該能夠無需密碼直接登錄。
確保服務器的防火墻允許SSH連接。如果你使用的是firewalld
,可以運行以下命令:
sudo firewall-cmd --permanent --add-service=ssh
sudo firewall-cmd --reload
如果你使用的是iptables
,可以添加相應的規則:
sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
為了進一步提高安全性,可以考慮以下措施:
fail2ban
防止暴力破解攻擊。通過以上步驟,你應該能夠在CentOS系統上成功配置SSH密鑰認證進行SFTP連接。