Linux如何搭建sftp伺服器

2021-09-17 19:59:27 字數 1882 閱讀 2998

centos7.2_x64

建立sftp組

groupadd sftp

建立完成之後使用cat /etc/group命令組的資訊

建立乙個sftp使用者mysftp並加入到建立的sftp組中,同時修改mysftp使用者的密碼

useradd -g sftp -s /bin/false mysftp

passwd mysftp

新建/data/sftp/mysftp目錄,並將它指定為mysftp組使用者的home目錄

mkdir -p /data/sftp/mysftp

usermod -d /data/sftp/mysftp mysftp

編輯配置檔案vi /etc/ssh/sshd_config

# 開啟

port 22

#將如下這行用#符號注釋掉

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

#match user anoncvs

# x11forwarding no

# allowtcpforwarding no

# permittty no

# forcecommand cvs server

usedns no

addressfamily inet

permitrootlogin yes

syslogfacility authpriv

passwordauthentication yes

#並在檔案最後面新增如下幾行內容然後儲存

subsystem sftp internal-sftp

#usepam yes

match group sftp

forcecommand internal-sftp

chrootdirectory /data/sftp/%u

allowtcpforwarding no

x11forwarding no

使用sshd -t進行檢測,使用: set number檢視行數

設定chroot目錄許可權

chown root:sftp /data/sftp/mysftp

chmod 755 /data/sftp/mysftp

新建乙個目錄供stp使用者mysftp上傳檔案,這個目錄所有者為mysftp所有組為sftp,所有者有寫入許可權所有組無寫入許可權

mkdir /data/sftp/mysftp/upload

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

chmod 755 /data/sftp/mysftp/upload

關閉selinux並重啟sshd服務,然後測試

setenforce 0

systemctl status sshd.service

systemctl start sshd.service

在其他伺服器上進行驗證,sftp 使用者名稱@ip位址

上傳指令碼

#!/bin/bash

echo

"打包檔案"

yarn build

echo

"傳輸檔案"

sftp root@ip <<

eom put -r ./dist/** /mnt/website/test-ui

beyeomecho

"部署成功"

注意事項

openssh的版本必須大於4.8p1,如果低於這個版本需要公升級

linux 上搭建sftp服務

sftp和ftp的區別 搭建sftp服務 環境 centos7.2 x64 開始搭建 1.建立sftp組 groupadd sftp 檢視命令組資訊 cat etc.group 建立乙個sftp使用者mysftp並加入到建立的sftp組中,同時修改mysftp使用者的密碼 新建 data sftp ...

Linux 搭建SFTP伺服器

系統centos 工具,自帶的internal sftp 1.首先檢視openssh版本 ssh v版本必須大於4.8p1,低於的這個版本需要公升級。2.建立sftp組 groupadd bmssftp3.建立sftp使用者 useradd g bmssftp s bin false bmssftp...

linux 搭建SFTP伺服器

參考 個人使用的是阿里雲的centos預設開啟了ssh 一開始以為 建立乙個使用者組,再新增幾個帳號,設定下許可權就好了 然而,to young to 步驟 1.建立乙個名為 sftp 的組 groupadd sftp 2.建立使用者 sftp admin 寫法1 useradd g sftp s ...