1.查看是否需要更新openssh版本
ssh -V // 如果版本過低,可以使用 yun update 進行更新
2.創建用戶和用戶組
// 創建sftp組
groupadd sftpgroup
// -M 表示創建用戶時不生成對應home目錄,-s /sbin/nologin 表示sftp用戶不能登錄系統
useradd -g sftpgroup -M -s /sbin/nologin sftpuser
// 修改sftp用戶密碼
passwd sftpuser
3.修改配置文件sshd_config
vi /etc/ssh/sshd_config
將下面這行註釋掉
#Subsystem sftp /usr/libexec/openssh/sftp-server
## 在文件末尾添加如下幾行
Subsystem sftp internal-sftp
Match Group sftpgroup
X11Forwarding no
AllowTcpForwarding no
ChrootDirectory %h
ForceCommand internal-sftp
4.使用root用戶新建用戶目錄/sftp/sftpfile,並指定相應的目錄權限
mkdir -p /sftp/sftpfile //-p 表示parents,即遞歸創建目錄
usermod -d /sftp/sftfile sftpuser // -d 表示修改用戶home目錄
// 設置目錄權限,設置成其他權限會報錯
chown root:sftpgroup /sftp/sftfile
chmod 755 /sftp/sftpfile
// 設置sftp用戶可以操作的目錄
mkdir /sftp/sftpuser/deb
mkdir /sftp/sftpuser/rpm
mkdir /sftp/sftpuser/tar_gz
chown sftpuser:sftpgroup /sftp/sftpuser/deb
chmod 755 /sftp/sftpuser/deb
chown sftpuser:sftpgroup /sftp/sftpuser/rpm
chmod 755 /sftp/sftpuser/rpm
chown sftpuser:sftpgroup /sftp/sftpuser/tar_gz
chmod 755 /sftp/sftpuser/tar_gz
5.重啓ssh
systemctl restart sshd.service
6.驗證安裝是否成功
sftp [email protected]