CentOS 8 搭建sftp伺服器
阿新 • • 發佈:2020-10-23
先切換到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