溫馨提示×

centos sftp如何使用公鑰認證

小樊
52
2025-03-23 16:46:33
欄目: 智能運維

在CentOS系統上設置SFTP公鑰認證可以提高安全性并簡化用戶登錄過程。以下是詳細的步驟指南:

1. 生成SSH密鑰對

首先,你需要在客戶端機器上生成SSH密鑰對(如果還沒有的話)。打開終端并運行以下命令:

ssh-keygen -t rsa -b 4096

按照提示操作,通常會生成兩個文件:id_rsa(私鑰)和id_rsa.pub(公鑰)。你可以選擇設置一個密碼短語來保護私鑰。

2. 將公鑰復制到服務器

接下來,你需要將生成的公鑰復制到CentOS服務器上的目標用戶的~/.ssh/authorized_keys文件中。你可以使用ssh-copy-id命令來完成這一操作:

ssh-copy-id user@server_ip

其中,user是你在服務器上的用戶名,server_ip是服務器的IP地址。系統會提示你輸入用戶的密碼。

3. 配置SSH服務器

確保服務器上的SSH配置文件/etc/ssh/sshd_config允許公鑰認證。打開文件并確保以下配置項存在且未被注釋:

PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys

如果你希望限制只有SFTP訪問權限,可以添加或修改以下配置:

Subsystem sftp /usr/libexec/openssh/sftp-server
Match Group sftpusers
    ChrootDirectory %h
    ForceCommand internal-sftp
    AllowTcpForwarding no
    X11Forwarding no

4. 創建SFTP用戶組(可選)

如果你希望限制某些用戶只能使用SFTP,可以創建一個專門的用戶組并添加相關用戶:

sudo groupadd sftpusers
sudo usermod -aG sftpusers username

其中,username是你要添加到SFTP用戶組的用戶名。

5. 重啟SSH服務

完成上述配置后,重啟SSH服務以使更改生效:

sudo systemctl restart sshd

6. 測試SFTP連接

現在,你可以嘗試從客戶端機器連接到服務器并使用SFTP:

sftp username@server_ip

系統會提示你輸入密碼(如果你設置了密碼短語,需要輸入)。成功連接后,你應該能夠使用SFTP命令進行文件傳輸。

注意事項

  • 確保服務器上的/etc/ssh/sshd_config文件的權限正確,通常應該是600。
  • 確保~/.ssh目錄和~/.ssh/authorized_keys文件的權限也正確,通常應該是700600。
  • 如果你在配置過程中遇到問題,可以查看服務器上的SSH日志文件/var/log/secure以獲取更多信息。

通過以上步驟,你應該能夠在CentOS系統上成功設置SFTP公鑰認證。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女