基於SSH搭建SFTP伺服器

2021-08-29 03:04:36 字數 2049 閱讀 1193

基於ssh搭建sftp伺服器

基於 ssh 的 sftp 服務相比 ftp 有更好的安全性(非明文帳號密碼傳輸)和方便的許可權管理(限制使用者的活動目錄) 開通 sftp 帳號,使使用者只能 sftp 操作檔案, 而不能 ssh 到伺服器 限定使用者的活動目錄,使使用者只能在指定的目錄下活動,使用 sftp 的 chrootdirectory 配置

確保 ssh 的版本高於 4.8p1

# ssh -v
新建sftp使用者組及使用者

# groupadd sftp

# useradd -d /home/sftp -m -g sftp -s /bin/false sftp

# passwd sftp

%u 使用者名稱 活動目錄,用chroot將使用者的根目錄指定到/data/sftp/%u 目錄的許可權設定有兩個要點: 1、由chrootdirectory指定的目錄開始一直往上到系統根目錄為止的目錄擁有者都只能是root 2、由chrootdirectory指定的目錄開始一直往上到系統根目錄為止都不可以具有群組寫入許可權

# mkdir -p /data/sftp/%u

#配置許可權 注意此目錄如果用於後續的 chroot 的活動目錄 目錄所有者必須是 root 必須是!!!

# chown root.sftp /data/sftp/%u

# chmod 755 /data/sftp/%u

配置sftp

# vim /etc/ssh/sshd_config

#####這裡我們使用系統自帶的 internal-sftp 服務即可滿足需求,也可以用 /usr/libexec/openssh/sftp-server

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

subsystem sftp internal-sftp

#####sftp使用者許可權限定

#####match [user|group] username|groupname

### chrootdirectory /data/sftp/%u

match group sftp

chrootdirectory %h # 還可以用 %h代表使用者家目錄 %u代表使用者名稱

forcecommand internal-sftp # 強制使用系統自帶的 internal-sftp 服務 這樣使用者只能使用ftp模式登入

allowtcpforwarding no

x11forwarding no

passwordauthentication no

chrootdirectory 使用者的可活動目錄 可以用 %h 標識使用者家目錄 %u 代表使用者名稱 當 match 匹配的使用者登入後 會話的根目錄會切換至此目錄 這裡要尤其注意兩個問題 chroot 路徑上的所有目錄,所有者必須是 root,許可權最大為 0755,這一點必須要注意而且符合 所以如果以非 root 使用者登入時,我們需要在 chroot 下新建乙個登入使用者有許可權操作的目錄

forcecommand 強制使用者登入會話時使用的初始命令 如果如上配置了此項 則 match 到的使用者只能使用 sftp 協議登入,而無法使用 ssh 登入

# service sshd restart
建立sftp可以寫的目錄

# mkdir /home/sftp/upload

# chown sftp.sftp /home/sftp/upload

# chmod 755 /home/sftp/upload

sftp 日誌

# vim /etc/ssh/sshd_config

subsystem sftp /usr/libexec/openssh/sftp-server -l info -f local5

loglevel info

# vim /etc/rsyslog.conf

auth,authpriv.*,local5.* /var/log/sftp.log

# service rsyslog restart

# service sshd restart

參考: 

sftp伺服器搭建

在centos 6.6環境使用系統自帶的internal sftp搭建sftp伺服器。開啟命令終端視窗,按以下步驟操作。0 檢視openssh的版本 plain view plain copy ssh v 使用ssh v 命令來檢視openssh的版本,版本必須大於4.8p1,低於的這個版本需要公升...

sftp伺服器搭建

sftp全稱 secure file transfer protocol,與ftp有著一樣的功能和語法。sftp是ssh的一部分,同樣使用22埠。本篇文章以centos系統為例,搭建乙個sftp服務,使用的賬號是 ftpuser,該賬號使用sftp客戶端軟體登入後的根目錄為 opt sftp,該賬號...

SFTP伺服器搭建

簡介 sftp是secure file transfer protocol的縮寫,安全檔案傳送協議。可以為傳輸檔案提供一種安全的加密方法。sftp 與 ftp有著幾乎一樣的語法和功能。sftp 為 ssh的一部份,和vsftpd一點關係沒有,是一種傳輸檔案至 blogger 伺服器的安全方式。本身沒...