一、什么sftp服務(wù)器
sftp是Secure File Transfer Protocol的縮寫,安全文件傳送協(xié)議??梢詾閭鬏斘募峁┮环N安全的加密方法。sftp 與 ftp 有著幾乎一樣的語法和功能。SFTP 為 SSH的一部份,是一種傳輸檔案至 Blogger 伺服器的安全方式。本身沒有守護進程,是包含在ssh中,端口也是22。
sftp采用的是ssh加密隧道,安裝性方面較ftp強,而且依賴的是系統(tǒng)自帶的ssh服務(wù),不像ftp還需要額外的進行安裝。
二、安裝sftp服務(wù)器
創(chuàng)建用戶組
groupadd sftpgroup
創(chuàng)建完成之后使用cat /etc/group命令組的信息
cat /etc/group
創(chuàng)建用戶并且加入到這個用戶組,并修改mysftp用戶的密碼
useradd -g sftpgroup -M -s /sbin/nologin mysftp
passwd mysftp
密碼 Java_521
創(chuàng)建/data/sftp/mysftp目錄,并將它指定為mysftp組用戶的home目錄
mkdir -p /data/sftp/mysftp
usermod -d /data/sftp/mysftp mysftp
設(shè)置Chroot目錄權(quán)限
chown root:sftpgroup /data/sftp/mysftp
chmod 755 /data/sftp/mysftp
新建一個目錄供stp用戶mysftp上傳文件,這個目錄所有者為mysftp所有組為sftp,所有者有寫入權(quán)限所有組無寫入權(quán)限
mkdir -p /data/sftp/mysftp/project
chown -R mysftp:sftpgroup /data/sftp/mysftp/project
chmod 755 /data/sftp/mysftp/project
chmod 755 設(shè)置用戶的權(quán)限為
三、修改配置文件
vi /etc/ssh/sshd_config
將Subsystem sftp /usr/libexec/openssh/sftp-server 注釋掉
在文件末尾添添加 加以下幾行
Subsystem sftp internal-sftp
Match Group sftpgroup
X11Forwarding no
AllowTcpForwarding no
ChrootDirectory /data/sftp/mysftp
ForceCommand internal-sftp
四、測試sftp
重啟sshd服務(wù),然后測試 sftp 用戶名@ip地址
systemctl restart sshd.service
sftp本地登錄
sftp mysftp@127.0.0.1
測試上傳
put abc.txt
測試下載
get abc.txt /opt