Sftp搭建與配置參考


Sftp搭建與配置參考

1. 介紹

sftp是Secure File Transfer Protocol的縮寫,安全文件傳送協議。可以為傳輸文件提供一種安全的加密方法。sftp 與 ftp 有着幾乎一樣的語法和功能。SFTP 為 SSH的一部分,是一種傳輸檔案至 Blogger 伺服器的安全方式。其實在SSH軟件包中,已經包含了一個叫作SFTP(Secure File Transfer Protocol)的安全文件傳輸子系統,SFTP本身沒有單獨的守護進程,它必須使用sshd守護進程(端口號默認是22)來完成相應的連接操作,所以從某種意義上來說,SFTP並不像一個服務器程序,而更像是一個客戶端程序。SFTP同樣是使用加密傳輸認證信息和傳輸的數據,所以,使用SFTP是非常安全的。但是,由於這種傳輸方式使用了加密/解密技術,所以傳輸效率比普通的FTP要低得多,如果您對網絡安全性要求更高時,可以使用SFTP代替FTP。

2. sftp搭建

2.1查看openssl的版本

ssh -V

###使用ssh –V命令來查看openssh的版本,版本必須大於4.8p1,低於這個版本需要升級。

2.2創建sftp組

groupadd sftp

2.3創建一個sftp用戶,用戶名為mysftp,密碼為mysftp

useradd –g sftp –s /bin/false mysftp //該用戶不能通過sshd登陸到系統

passwd mysftp

2.3sftp組的用戶的home目錄統一指定到/data/sftp下,按用戶名區分,這里先新建一個mysftp目錄,然后指定mysftp的home為/data/sftp/mysftp

mkdir -p /data/sftp/mysftp

usermod –d /data/sftp/mysftp mysftp

2.4配置sshd_config

文本編輯器打開 /etc/ssh/sshd_config

vi /etc/ssh/sshd_config

找到如下這行,用#符號注釋掉。

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

在文件最后面添加如下幾行內容,然后保存。

Subsystem       sftp    internal-sftp

###配置一個外部子系統(例如,一個文件傳輸守護進程)。僅用於SSH-2協議。值是一個子系###統的名字和對應的命令行(含選項和參數)。比如"sftp /usr/libexec/openssh/sftp-server"。,###這里配置為內部的

Match Group sftp                      

#限定只有sftp組的才能訪問

ChrootDirectory /data/sftp/%u

###設定屬於用戶組sftp的用戶訪問的根文件夾

ForceCommand    internal-sftp

###強制執行這里指定的命令而忽略客戶端提供的任何命令。這個命令將使用用戶的登錄###shell執行(shell -c)。這可以應用於 shell 、命令、子系統的完成,通常用於 Match 塊中。###這個命令最初是在客戶端通過 SSH_ORIGINAL_COMMAND 環境變量來支持的。

AllowTcpForwarding no  

###是否允許TCP轉發,默認值為"yes", 禁止TCP轉發並不能增強安全性,除非禁止了用戶###對shell的訪問,因為用戶可以安裝他們自己的轉發器。

X11Forwarding no        

###是否允許進行 X11 轉發。默認值是"no",設為"yes"表示允許。如果允許X11轉發並且sshd(8)代理的顯示區被配置為在含有通配符的地址(X11UseLocalhost)上監聽。那么將可能有額外的信息被泄漏。由於使用X11轉發的可能帶來的風險,此指令默認值為"no"。需要注意的是,禁止X11轉發並不能禁止用戶轉發X11通信,因為用戶可以安裝他們自己的轉發器。

如果啟用了 UseLogin ,那么X11轉發將被自動禁止。

2.5設定Chroot目錄權限

chown root:sftp /data/sftp/mysftp

chmod 755 /data/sftp/mysftp

2.6建立SFTP用戶登入后可寫入的目錄

照上面設置后,在重啟sshd服務后,用戶mysftp已經可以登錄。但使用chroot指定根目錄后,根應該是無法寫入的,所以要新建一個目錄供mysftp上傳文件。這個目錄所有者為mysftp,所有組為sftp,所有者有寫入權限,而所有組無寫入權限。命令如下:

mkdir /data/sftp/mysftp/upload

chown mysftp:sftp /data/sftp/mysftp/upload

chmod 755 /data/sftp/mysftp/upload

2.7重啟sshd服務

service sshd restart

3.附錄

3.1sftp參考資料

http://blog.csdn.net/xinxin19881112/article/details/46831311

http://www.2cto.com/os/201401/272738.html

http://www.1949idc.com/shownews399.html

3.2 UNIX文件權限詳解參考資料

http://blog.csdn.net/astonqa/article/details/8292935###UNIX文件權限詳解(尤其是SUID和SGID)參照

3.3setfacl參考資料

http://cn.linux.vbird.org/linux_basic/0410accountmanager_3.php ###鳥哥的講解非常詳細

http://man.linuxde.net/setfacl

http://blog.csdn.net/qwq_qaq/article/details/54882203

 


免責聲明!

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



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