centos7.6設置sftp服務


sftp是Secure File Transfer Protocol的縮寫,安全文件傳送協議。

CentOS自帶 SSH 服務,直接配置即可

1. 查看ssh版本

sftp是基於ssh協議的,首先查看ssh版本,openssh-server版本至少得是4.8p1, 因為配置權限需要版本添加的新配置項ChrootDirectory來完成。

[root@iZuf6gglwrfdrwtaluuoe8Z ~]# ssh -V
OpenSSH_7.4p1, OpenSSL 1.0.2k-fips  26 Jan 2017

 

2. 創建用戶和組

[root@iZuf6gglwrfdrwtaluuoe8Z ~]# groupadd sftp 
[root@iZuf6gglwrfdrwtaluuoe8Z ~]# useradd -g sftp -s /sbin/nologin user1

 

3. 設置目錄權限

 
         
[root@iZuf6gglwrfdrwtaluuoe8Z ~]# chown root:sftp /home/user1 
[root@iZuf6gglwrfdrwtaluuoe8Z ~]# chmod 755 -R /home/user1
#設置用戶可以上傳的目錄,改目錄下允許用戶上傳刪除修改文件及文件夾 
[root@iZuf6gglwrfdrwtaluuoe8Z ~]# mkdir /home/user1/upload
[root@iZuf6gglwrfdrwtaluuoe8Z ~]# chown -R user1:sftp /home/user1/upload
[root@iZuf6gglwrfdrwtaluuoe8Z ~]# chmod -R 755 /home/user1/upload

 

4. 修改配置文件sshd_config

vim /etc/ssh/sshd_config

修改為如下:

#注釋掉這行
#Subsystem sftp /usr/libexec/openssh/sftp-server 

#在最后面增加以下6行
Subsystem sftp internal-sftp 
Match Group sftp
ChrootDirectory /home/%u #設定屬於用戶組sftp的用戶訪問的根文件夾
ForceCommand internal-sftp
AllowTcpForwarding no
X11Forwarding no #設置不允許SSH的X轉發

 

5. 重啟sshd服務

service sshd restart

或者

systemctl restart sshd

 

6. 驗證sftp服務

MacBook-Pro:downloads$ sftp user1@10.10.10.200
user1@10.10.10.200's password:
Connected to 10.10.10.200.
sftp>ls
upload
sftp>

見到如上字樣則證明成功

7. sftp常見命令

遠程命令: cd, ls, pwd
本地命令:遠程命令前加l , 如 lcd, lls, lpwd

或者

上傳命令: put
下載命令:get
退出: bye 或者 exit

 


免責聲明!

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



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