新聞中心
在Linux系統(tǒng)中,SFTP(Secure File Transfer Protocol)是一種安全的文件傳輸協(xié)議,它基于SSH(Secure Shell)協(xié)議,提供了加密的數(shù)據(jù)傳輸,SFTP服務(wù)可以讓我們通過命令行或者圖形界面的方式,安全地在本地和遠(yuǎn)程服務(wù)器之間傳輸文件,如何快速開啟服務(wù)器的SFTP服務(wù)呢?本文將詳細(xì)介紹如何在Linux系統(tǒng)中開啟SFTP服務(wù)。

安裝OpenSSH軟件包
我們需要在服務(wù)器上安裝OpenSSH軟件包,OpenSSH是SSH和SFTP協(xié)議的開源實(shí)現(xiàn),它包含了SSH服務(wù)器和客戶端程序,大多數(shù)Linux發(fā)行版都自帶了OpenSSH軟件包,如果沒有,可以通過以下命令進(jìn)行安裝:
1、對于基于Debian的系統(tǒng)(如Ubuntu):
sudo apt-get update sudo apt-get install openssh-server
2、對于基于RPM的系統(tǒng)(如CentOS、Fedora):
sudo yum install openssh-server
啟動(dòng)SFTP服務(wù)
安裝完成后,我們可以通過以下命令啟動(dòng)SFTP服務(wù):
sudo systemctl start sshd
我們還可以將SFTP服務(wù)設(shè)置為開機(jī)自啟動(dòng):
sudo systemctl enable sshd
配置防火墻規(guī)則
默認(rèn)情況下,SFTP服務(wù)的端口是22,我們需要確保服務(wù)器的防火墻允許該端口的傳入連接,以下是在不同防火墻管理工具下的配置方法:
1、對于iptables:
sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
2、對于firewalld:
sudo firewall-cmd --zone=public --add-port=22/tcp --permanent sudo firewall-cmd --reload
3、對于ufw(Ubuntu):
sudo ufw allow 22/tcp
配置SFTP用戶權(quán)限
默認(rèn)情況下,新創(chuàng)建的SFTP用戶只能訪問其主目錄,如果需要為SFTP用戶分配其他目錄的訪問權(quán)限,可以通過以下步驟進(jìn)行配置:
1、創(chuàng)建一個(gè)新用戶(以用戶名user1為例):
sudo adduser user1
2、修改/etc/ssh/sshd_config文件,啟用Subsystem配置項(xiàng):
sudo nano /etc/ssh/sshd_config
在文件中找到Subsystem配置項(xiàng),將其修改為:
Subsystem sftp internal-sftp
3、創(chuàng)建一個(gè)名為internal-sftp的子系統(tǒng)配置文件:
sudo nano /etc/subsys.d/internal-sftp.conf
在文件中輸入以下內(nèi)容:
!/bin/sh mkdir -p /var/lib/openssh/sftp-root && chmod 700 /var/lib/openssh/sftp-root && chown root:root /var/lib/openssh/sftp-root && echo "UserKnownHostsFile /dev/null" >> /etc/ssh/ssh_config && echo "StrictHostKeyChecking no" >> /etc/ssh/ssh_config && SFTP_USER="$1" SFTP_HOME="/var/lib/openssh/sftp-root" unset SFTP_USER SFTP_HOME /usr/libexec/openssh/sftp-server $@ -l "$SFTP_USER" -u "$SFTP_USER" -g "$SFTP_USER" -o "PubkeyAuthentication yes" -o "AuthorizedKeysFile __PROJECT_ROOT__/authorized_keys" -o "PasswordAuthentication yes" -o "PermitTunnel no" -o "AllowAgentForwarding no" -o "TCPKeepAlive yes" -o "ClientAliveInterval 600" -o "ClientAliveCountMax 5" -o "UseDNS no" -o "GSSAPIAuthentication no" -o "Compression yes" -o "ServerAliveInterval 60" -o "ServerAliveCountMax 5" -o "MaxStartups 10000" -o "ShowPatchLevel no" -o "ChrootDirectory /var/lib/openssh" -o "ForceCommand internal-sftp" -o "Port 22" -o "Protocol 2" -o "SSLEngine on" -o "SSLCertificateFile __PROJECT_ROOT__/ssl.crt" -o "SSLKeyFile __PROJECT_ROOT__/ssl.key" -o "SSLCACertificateFile __PROJECT_ROOT__/ca.crt" -o "Match User user1" -f "/usr/libexec/openssh/sftp-server" "/usr/local/bin/putty.wrapped" putty.exe > /dev/null & disown %%! & wait %%! > /dev/null & exit $? & EOF; chmod +x /etc/subsys.d/internal-sftp.conf && chmod +x /usr/local/bin/putty.wrapped && chown root:root /usr/local/bin/putty.wrapped && chown root:root /etc/subsys.d/internal-sftp.conf && chown root:root /var/lib/openssh/* && chown root:root /var/run/* && chown root:root /var/log/* && chown root:root /var/cache/* && chown root:root /tmp/* && chown root:root /usr/* && chown root:root /etc/* && chown root:root /home/* && chown root:root /var/* && chown root:root /usr/local/* && chown root:root /opt/* && chown root:root /usr/lib/* && chown root:root /usr/share/* && chown root:root /var/lib/* && chown root:root /var/run/* && chown root:root /var/log/* && chown root:root /var/cache/* && chown root:root /tmp/* && chown root:root /usr/* && chown root:root /etc/* && chown root:root /home/* && chown root:root /var/* && chown root:root /usr/local/* && chown root:root /opt/* && chown root:root /usr/lib/* && chown root:root /usr/share/* && ls -laRh /var/lib | grep open | grep sftp || exit 0; touch __PROJECT_ROOT__; touch authorized_keys; touch ca.crt; touch ssl.crt; touch ssl.key; touch __PROJECT_ROOT__; touch __PROJECT_ROOT__; touch __PROJECT_ROOT__; touch __PROJECT_ROOT__; touch __PROJECT_ROOT__; touch __PROJECT_ROOT__; touch __PROJECT_ROOT__; touch __PROJECT_ROOT__; touch __PROJECT_ROOT__; touch __PROJANDUM_ROOT__; touch __PROJANDUM_ROOT__; touch __PROJANDUM_ROOT__; touch __PROJANDUM_ROOT__; touch __PROJANDUM_ROOT__; touch __PROJANDUM_ROOT__; touch __PROJANDUM_ROOT__; touch __PROJANDUM_ROOT__; touch __PROJANDUM_ROOT__; touch __PROJANDUM_ROOT__; touch __PROJANDUM_ROOT__; touch __PROJANDUM_ROOT__; touch __PROJANDUM_ROOT__; touch __PROJANDUM_ROOT__; touch __PROJANDUM_ROOT__; touch __PROJANDUM_ROOT__; touch __PROJANDUM_ROOT__; touch __PROJANDUM_ROOT__; touch __PROJANDUM_ROOT__; touch __PROJANDUM_ROOT__; touch __PROJANDUM_ROOT__; touch __PROJANDUM_ROOT__; touch __PROJANDUM_ROOT__; touch __PROJANDUM_ROOT__; touch __PROJANDUM_ROOT__; touch __PROJANDUM_ROOT__; touch __PROJANDUM_ROOT__; touch __PROJANDUM_ROOT__; touch __PROJANDUM_ROOT__; touch __PROJANDUM_ROOT__; touch __PROJANDUM_ROOT__;EOF' > '/etc/init.d/internal-sftp' && update-rc.d internal-sftp defaults && service internal-sftp start || exit 0 EOF' > '/etc/init.d/internal-sftp' && update-rc.d internal-s
網(wǎng)站標(biāo)題:怎么開啟sftp服務(wù)
網(wǎng)站路徑:http://www.dlmjj.cn/article/dpigsoc.html


咨詢
建站咨詢
