tft每日頭條

 > 科技

 > centos7 啟用sftp

centos7 啟用sftp

科技 更新时间:2025-02-21 18:51:57


centos7 啟用sftp(CentOS7服務搭建----搭建SFTP)1

SFTP協議服務器

簡介:

  sftp是Secure File Transfer Protocol的縮寫,安全文件傳送協議。可以為傳輸文件提供一種安全的加密方法。sftp 與 ftp有着幾乎一樣的語法和功能,但注意:sftp和ftp(vsftpd)一點關系都沒有。SFTP 是 SSH的一部份,是一種傳輸文件數據至sftp服務器的協議。本身沒有守護進程,是包含在ssh中,同樣使用ssh端口22。

目标:

實現sftp多個用戶可上傳下載文件,并且各個用戶都擁有不同的根目錄實現安全隔離。

腳本演示:

sftp服務搭建,本人已經寫成腳本,一起來看看腳本執行得效果先

centos7 啟用sftp(CentOS7服務搭建----搭建SFTP)2

sftp自動化腳本執行效果

注意⚠️:要實現郵件發送,老猴将抽時間在接下來的下一篇實踐操刀

遠程登錄操作:

centos7 啟用sftp(CentOS7服務搭建----搭建SFTP)3

SFTP遠程登錄操作

實操搭建:

  版本說明:

OS系統版本:CentOS 7.7

SSH版本:OpenSSH_7.4p1, OpenSSL 1.0.2k-fips 26 Jan 2017

centos7 啟用sftp(CentOS7服務搭建----搭建SFTP)4

系統版本及ssh版本

sftp服務器搭建方式:

  1、sftp本事植根于ssh,有ssh就有sftp,所以直接在系統上新建一個用戶即可完成搭建,這種方式最簡單,但最不安全,sftp用戶登陸之後可以随意切換目錄,很不安全,生産環境中絕對是不能接受的安全威脅。

  2、标準的、安全的sftp的搭建

第一步:新建sftp用戶組(任意組名,為便于識别,此例用戶組取名sftp)

groupadd sftp

第二部:新建sftp用戶(任意用戶名,為便于識别,此例用戶組取名sftpu01)

useradd -g sftp -s /bin/false sftpu01

注意⚠️:安全考慮,需要禁止sftp用戶ssh登陸到系統,所以新建用戶有-s/bin/false選項

第三部:為sftp用戶設置12位随機密碼(位數和複雜度按需設置)

PassWd=$(strings /dev/urandom | grep -o '[[:alnum:]]' | head -n 12 | tr -d "\n";echo)

echo -e "${PassWd}"|passwd --stdin sftpu01

注意⚠️:生成複雜随機密碼的方式很多,此例使用urandom實現

第四部:為sftp用戶建立根目錄和可讀寫數據目錄并設置用戶和用戶組(sftp用戶的根目錄此例為/data_sftp/sftpu01)

新建目錄及修改所屬組/主

mkdir -p /data_sftp/sftpu01 && chown root:sftp /data_sftp/sftpu01

修改用sftp用戶根目錄

usermod -d /data_sftp/sftpu01 sftpu01

建立sftp用戶可讀寫的數據目錄

mkdir -p /data_sftp/sftpu01/data01

為sftp用戶可讀寫的數據目錄設置用戶及用戶組權限

chown -R sftpu01:sftp /data_sftp/sftpu01/data01

chmod 755 /data_sftp/sftpu01/data01


第五部:修改/etc/ssh/sshd_config文件(注意⚠️,此步驟隻在首次部署sftp操作,後期新加sftp用戶不需要在執行)

将Subsystem sftp /usr/libexec/openssh/sftp-server這一行修改為:

#Subsystem sftp /usr/libexec/openssh/sftp-server,即在行前添加#号或删除

新添加内容:

Subsystem sftp internal-sftp -l INFO -f AUTH #這行指定使用sftp服務使用系統自帶的internal-sftp

Match Group sftp #這行用來匹配用戶組

ChrootDirectory /data_sftp/sftpu01%u #用chroot将用戶的根目錄指定到/data_sftp/sftpu01 ,這樣用戶就隻能在/data/sftp下活動

AllowTcpForwarding no #這兩行,如果不希望該用戶能使用端口轉發的話就加上,否則删掉

X11Forwarding no #這兩行,如果不希望該用戶能使用端口轉發的話就加上,否則删掉

ForceCommand internal-sftp -l INFO -f AUTH #指定sftp命令


第六步:重啟ssh,使之生效

service sshd restart

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关科技资讯推荐

热门科技资讯推荐

网友关注

Copyright 2023-2025 - www.tftnews.com All Rights Reserved