sftp安裝部署

2021-10-09 09:42:05 字數 1419 閱讀 3682

1、檢視openssh版本

ssh -v //openssh版本必須大於4.8p1

2、建立sftp組

groupadd sftp

3、建立sftp使用者

useradd -g sftp -s /sbin/nologin -m sftp

passwd sftp //設定密碼

chage -m 99999 sftp //設定密碼不過期

4、建立目錄

mkdir -p /data/sftp/mysftp

usermod -d /data/sftp/mysftp sftp

5、修改sshd_config配置

vim /etc/ssh/sshd_config

注釋掉#subsystem sftp /usr/libexec/openssh/sftp-server

後面再新增

subsystem sftp internal-sftp

match group sftp

chrootdirectory /data/sftp/mysftp

forcecommand internal-sftp

allowtcpforwarding no

x11forwarding no

6、設定chroot目錄許可權

chown root:sftp /data/sftp/mysftp

chmod 755 /data/sftp/mysftp

7、設定可以寫入的目錄

mkdir /data/sftp/mysftp/upload

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

chmod 755 /data/sftp/mysftp/upload

關閉selinux:

vim /etc/selinux/config

將檔案中的selinux=enforcing修改為selinux=disabled,然後儲存。

執行:setenforce 0

8、重啟sshd服務

systemctl restart sshd.service

write failed:

broken pipe

couldn't read packet:

connection reset by peer

這個問題的原因是chrootdirectory的許可權問題,你設定的目錄必須是root使用者所有,否則就會出現問題。所以請確保sftp使用者根目錄的所有人是root

, 許可權是 750 或者 755。注意以下兩點原則:

目錄開始一直往上到系統根目錄為止的目錄擁有者都只能是 root,使用者組可以不是 root。

目錄開始一直往上到系統根目錄為止都不可以具有群組寫入許可權

上面2點一定注意,仔細檢查。

sftp服務部署

1.sftp的配置 檢視ssh版本 sftp是基於ssh協議的子協議,首先檢視ssh版本,openssh server版本至少是4.8p1,因為配置許可權需要版本新增的新配置項chrootdirectory來完成 root izys605x4c311swvscc1y0z ssh v openssh ...

sftp的安裝文件

1 安裝伺服器端 sudo apt install vsftpd 2 安裝完畢後需要啟動 sudo start vsftpd sudo vi vsftpd.conf 進入之後將write enable yes 取消注釋 儲存退出 4 更改完畢後重啟伺服器 sudo service vsftpd re...

centos 安裝sftp服務

開啟命令終端視窗,按以下步驟操作。0 檢視openssh的版本 ssh v 使用ssh v 命令來檢視openssh的版本,版本必須大於4.8p1,低於的這個版本需要公升級。1 建立sftp組 groupadd sftp 2 建立乙個sftp使用者,使用者名為mysftp,密碼為mysftp 修改使...