如何在Linux系统下使用FTPS传输文件 (ftps linux)
随着数据传输的日益重要,跨平台和安全传输在现代化企业中越来越受欢迎。FTP是一种不安全的文件传输协议,它使用明文传输密码,容易被黑客攻击。而FTPS是一种基于SSL / TLS协议的FTP协议,它提供了更高的安全性和加密算法,从而更安全,因此越来越受欢迎。本文将介绍。
1.检查是否安装FTPS
在开始之前,确保您的Linux服务器上已安装FTPS。在终端中输入以下命令,检查:
“`
$ which ftps
“`
如果没有安装,则需要安装FTP客户端和SSL / TLS库:
“`
$ sudo apt-get update
$ sudo apt-get install ftp-ssl libnss3-tools
“`
2.安装和生成SSL证书
在Linux上安装ftps时,您需要SSL证书。在此示例中,我们将使用自签名证书。运行以下命令生成自签名SSL证书:
“`
$ openssl req -x509 -nodes -newkey rsa:2023 -keyout server.key -out server.crt -days 365
“`
接下来,当运行该命令时,按照提示输入有关您服务器的信息,例如国家/地区,州,城市,组织名称,组织单位名称等。这将生成一个名为server.crt的文件(公共证书)和一个名为server.key的私钥文件。请注意,您可以根据需要为证书提供名称和路径。
3.配置防火墙
在FTP上进行FTPS传输受TCP端口21和SSL端口990的影响。要启用FTP和FTPS传输,请确保防火墙未阻止这些端口。
在Ubuntu上,请运行以下命令:
“`
$ sudo ufw allow ftps
$ sudo ufw allow ftp
“`
在CentOS上,将以下端口添加到防火墙规则中:
“`
$ sudo firewall-cmd –permanent –add-port=20-21/tcp
$ sudo firewall-cmd –permanent –add-port=990/tcp
$ sudo firewall-cmd –reload
“`
4.配置FTP服务器
在Linux服务器上使用proftpd FTP服务器。
安装proftpd服务器:
“`
$ sudo apt-get install proftpd
“`
接下来,编辑配置文件:
“`
$ sudo nano /etc/proftpd/proftpd.conf
“`
添加以下行:
“`
LoadModule mod_tls.cs /usr/lib/proftpd/mod_tls.so
# Use TLS encryption
# Enable TLS
TLSEngine on
# Require TLS connections on the data channel
TLSRequired on
# Certificate and Key files
TLSRSACertificateFile /etc/proftpd/ssl/server.crt
TLSRSACertificateKeyFile /etc/proftpd/ssl/server.key
# Authenticate clients that use SSL/TLS certificates
TLSVerifyClient optional
TLSOptions NoCertRequest
TLSProtocol TLSv1.2
TLSCipherSuite HIGH:!MEDIUM:!LOW:!DES:!RC4:!SHA1:!MD5
“`
此配置启用mod_tls模块,并暴露以下TLS配置:
– `TLSRequired on` – 要求TLS连接(默认为Off)
– `TLSRSACertificateFile` – 服务器的SSL证书文件
– `TLSRSACertificateKeyFile` – 服务器SSL证书的私钥文件。
– `TLSVerifyClient optional` – 所需的客户端验证级别(默认为never)
请注意,您可以根据需要修改`TLSProtocol`和`TLSCipherSuite`。
保存并关闭文件。
5.启动FTP服务
现在,启动proftpd服务:
“`
$ sudo systemctl start proftpd
“`
6.使用FTP客户端连接到FTPS服务器
现在您可以使用FTP客户端连接到FTPS服务器。例如,您可以使用`lftp`。
在终端中键入以下命令以打开lftp:
“`
$ lftp
“`
接下来,以FTPS协议连接到服务器:
“`
lftp user@yourf:990
“`
输入您的用户名和密码以连接到服务器。
7.传输文件
一旦连接到FTP服务器,您可以使用以下命令上传或下载文件:
将本地文件上传到FTPS服务器:
“`
put filename
“`
从FTP服务器下载文件:
“`
get filename
“`
请注意,需要在FTP客户端中设置远程路径以指定目标文件夹。例如,以下命令将本地文件上传到FTP服务器中指定的文件夹:
“`
put filename /path/to/directory/
“`
结论
FTPS是Linux系统下传输文件的一种安全解决方案。在与客户端一起使用时,通过安装和配置必需的软件包,证书和SSH / TLS端口也易于设置。如果您要在Linux系统下传输文件,则建议使用FTPS协议。 在此过程中,您将确保信息安全和存储安全。