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。
ssh -v
###使用ssh –v命令來檢視openssh的版本,版本必須大於4.8p1,低於這個版本需要公升級。
groupadd sftp
useradd –g sftp –s /bin/false mysftp //該使用者不能通過sshd登陸到系統
passwd mysftp
mkdir -p /data/sftp/mysftp
usermod –d /data/sftp/mysftp mysftp
文字編輯器開啟 /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**將被自動禁止。
chown root:sftp /data/sftp/mysftp
chmod 755 /data/sftp/mysftp
照上面設定後,在重啟sshd服務後,使用者mysftp已經可以登入。但使用chroot指定根目錄後,根應該是無法寫入的,所以要新建乙個目錄供mysftp上傳檔案。這個目錄所有者為mysftp,所有組為sftp,所有者有寫入許可權,而所有組無寫入許可權。命令如下:
mkdir /data/sftp/mysftp/upload
chown mysftp:sftp /data/sftp/mysftp/upload
chmod 755 /data/sftp/mysftp/upload
service sshd restart
檔案許可權詳解(尤其是suid和sgid)參照
###鳥哥的講解非常詳細
Sftp搭建與配置
sftp是secure file transfer protocol的縮寫,安全檔案傳送協議。可以為傳輸檔案提供一種安全的加密方法。sftp 與 ftp 有著幾乎一樣的語法和功能。sftp 為 ssh的一部分,是一種傳輸檔案至 blogger 伺服器的安全方式。其實在ssh軟體包中,已經包含了乙個叫...
Linux nginx安裝與配置(參考)
1.進入linux伺服器安裝依賴 yum install y gcc c zlib zlib devel openssl openssl devel pcre pcre devel 2.新增使用者和組 groupadd nginx useradd s sbin nologin m g nginx n...
sftp伺服器搭建
在centos 6.6環境使用系統自帶的internal sftp搭建sftp伺服器。開啟命令終端視窗,按以下步驟操作。0 檢視openssh的版本 plain view plain copy ssh v 使用ssh v 命令來檢視openssh的版本,版本必須大於4.8p1,低於的這個版本需要公升...