CentOS 8 搭建sftp服務器


先切換到root用戶,下文中使用sftp作為組用戶,sftpvdes作為賬戶使用。

因為需要用到chroot,所以openssh 版本不能低於4.8p1

ssh -V

創建用戶分組sftp

groupadd sftp

添加用戶sftpvdes至組用戶sftp

useradd -g sftp -s /sbin/nologin sftpvdes

注:-g后面接組;-s指定用戶登入后所使用的shell,默認值為/bin/bash。

【/bin/bash】指:用戶即能使用賬號密碼連接sftp,又能使用賬號密碼登錄該Linux服務器;

【/sbin/nologin】指:用戶只能使用賬號密碼連接sftp,不能使用賬號密碼登錄該Linux服務器;對於FTP、SFTP、SMTP等程序級服務,我們一般都設置為【/sbin/nologin】。

修改sftpvdes用戶的密碼

passwd sftpvdes

本次設置密碼 1qazxsw2

創建一個目錄,來專門存放sftp相關文件

先cd到根目錄

cd /

創建 sftp 文件夾

mkdir /sftp

然后為了規范一下,在針對每個賬戶創建一個文件夾,

上面我們創建了sftpvdes用戶,再次創建一個sftpvdes文件夾

cd /sftp/
mkdir sftpvdes
cd sftpvdes

此時我們就處在了 sftpvdes 這個文件夾位置,這個文件夾可以用來存放想要上傳的文件,比如在創建一個file文件家,來存放文件,或者jpg文件夾來存放圖片

mkdir files

修改sshd_config的配置文件

vi /etc/ssh/sshd_config

注釋掉原文檔下面語句

#Subsystem      sftp    /usr/lib/openssh/sftp-server

在文檔最下邊添加

Subsystem sftp internal-sftp
Match Group sftp
ChrootDirectory /sftp/%u
ForceCommand internal-sftp
AllowTcpForwarding no
X11Forwarding no

注:上面的Match Group 后面的sftp需要匹配一開始建的分組名

注:上面的ChrootDirectory 后面的sftp需要匹配創建的文件夾名

設定Chroot目錄權限

chown -R root:sftp /sftp
chmod 755 /sftp
chmod 755 /sftp/sftpvdes
chmod 777 /sftp/sftpvdes/files

重啟sshd配置

service sshd restart

測試鏈接

 連接成功

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM