溫馨提示×

怎樣在CentOS上配置SFTP自動登錄

小樊
40
2025-05-23 02:17:15
欄目: 智能運維

在CentOS上配置SFTP自動登錄,可以通過設置SSH密鑰認證來實現。以下是詳細步驟:

1. 生成SSH密鑰對

首先,在客戶端機器上生成SSH密鑰對(如果還沒有的話)。

ssh-keygen -t rsa -b 4096

按照提示操作,通常會生成兩個文件:

  • ~/.ssh/id_rsa (私鑰)
  • ~/.ssh/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文件:

sudo vi /etc/ssh/sshd_config

找到并確保以下配置項被正確設置:

PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys

保存并退出編輯器,然后重啟SSH服務以應用更改:

sudo systemctl restart sshd

4. 配置SFTP自動登錄

為了確保SFTP用戶能夠自動登錄并使用其主目錄作為工作目錄,可以在服務器上創建一個專門用于SFTP的用戶組,并將目標用戶添加到該組中。

創建SFTP用戶組

sudo groupadd sftpusers

將用戶添加到SFTP用戶組

sudo usermod -aG sftpusers user

配置SSH配置文件

編輯服務器上的/etc/ssh/sshd_config文件,添加或修改以下配置:

Match Group sftpusers
    ChrootDirectory %h
    ForceCommand internal-sftp
    AllowTcpForwarding no
    X11Forwarding no

這些配置項的作用是:

  • ChrootDirectory %h:將用戶的根目錄限制在其主目錄中。
  • ForceCommand internal-sftp:強制使用SFTP而不是SSH。
  • AllowTcpForwarding noX11Forwarding no:禁用TCP和X11轉發,提高安全性。

保存并退出編輯器,然后重啟SSH服務:

sudo systemctl restart sshd

5. 測試SFTP連接

現在,客戶端應該能夠使用SSH密鑰自動登錄到服務器并進行SFTP操作。測試連接:

sftp user@server_ip

如果一切配置正確,你應該能夠直接進入用戶的主目錄,而無需輸入密碼。

通過以上步驟,你就可以在CentOS上配置SFTP自動登錄了。

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