首页 » PHP教程 » PHPsftpclient技巧_若安在 Linux 做事器上安装和运用 SFTP

PHPsftpclient技巧_若安在 Linux 做事器上安装和运用 SFTP

访客 2024-11-24 0

扫一扫用手机浏览

文章目录 [+]

现在,建议利用 SFTP 而不是旧的旧 FTP 或 FTP/S 协议。
SFTP 默认是安全的,由于这便是 SSH 的事情办法。
从安全的角度来看,SFTP 还可以保护您免受密码嗅探和中间人攻击 (MiTM)。

与 SSH 一样,SFTP 也利用加密和加密哈希函数保护您的数据完全性。
此外,它还支持多种安全身份验证方法,包括密码和基于密钥的身份验证。
此外,它减少了做事器对外部网络的开放端口,由于它与 SSH 协议在同一端口上运行。

PHPsftpclient技巧_若安在 Linux 做事器上安装和运用 SFTP

先决条件

在本指南中,您将学习如何在 Linux 系统上设置 SFTP 做事器。
此外,您还将学习 sftp 客户真个基本命令。

PHPsftpclient技巧_若安在 Linux 做事器上安装和运用 SFTP
(图片来自网络侵删)

以下是当前的履行环境:

Linux 做事器 - 您可以利用 Debian、Ubuntu、CentOS、Fedora、Rocky 或任何其他 Linux 发行版。
确保 OpenSSH 软件包在您的 Linux 系统上可用。
SFTP 客户端 - sftp 命令行或您喜好的任何 GUI 客户端。
验证 OpenSSH 包

要设置 SFTP 做事器,您必须在 Linux 系统上安装 OpenSSH 软件包。
险些所有 Linux 分发做事器都默认安装了 OpenSSH 软件包。
但是,如果您的系统上没有 OpenSSH 软件包,您可以从官方存储库安装它。

要确保在您的 Linux 系统上安装了 OpenSSH 软件包,请利用以下命令。

对付 Debian 或 Ubuntu 做事器,您可以利用下面的 dpkg 命令。

dpkg -l | grep ssh

下面是我们 Debian 系统的输出。

ii libssh2-1:amd64 1.9.0-2 amd64 SSH2 client-side libraryii openssh-client 1:8.4p1-5 amd64 secure shell (SSH) client, for secure access to remote machinesii openssh-server 1:8.4p1-5 amd64 secure shell (SSH) server, for secure access from remote machinesii openssh-sftp-server 1:8.4p1-5 amd64 secure shell (SSH) sftp server module, for SFTP access from remote machines

第一列“ ii ”表示已安装软件包。
软件包“ openssh-sftp-server ”安装在 Debian/Ubuntu 系统上。

对付 RHEL/CentOS/Fedora/Rocky Linux/AlmaLinux 用户,您可以利用如下 rpm 命令。

rpm -qa | grep ssh创建组和用户

在这一步,您将为 SFTP 做事器创建一个新组和用户。
该组内的用户将被许可访问 SFTP 做事器。
并且出于安全缘故原由,SFTP 用户无法访问 SSH 做事。
SFTP 用户只能访问 SFTP 做事器。

实行以下命令创建一个新组' sftpgroup '。

sudo groupadd sftpgroup

2.利用以下命令 创建一个新用户“ sftpuser ”。

sudo useradd -G sftpgroup -d /srv/sftpuser -s /sbin/nologin sftpuser

详细选项:

-G : 自动将用户添加到' sftpgroup '。
-d:指定新用户的主目录。
-s : 将新用户的默认设置为' /sbin/nologin ',这意味着该用户无法访问 SSH 做事器。
接下来,利用以下命令 为用户“ sftpuser ”创建密码。

passwd sftpuser

输入您的强密码并重复,然后按“ Enter ”确认。

要添加更多用户,请重复第2 和第 3 阶段,最主要的是,所有 SFTP 用户必须在组 ' sftpgroup ' 中,并且不能通过 SSH 访问 shell。

设置 Chroot 监狱目录

创建新组和用户后,您必须为 SFTP 用户创建和配置 chroot 目录。

对付用户'sftpuser',新的主目录将位于'/srv/sftpuser'。
实行下面的命令来创建它。

mkdir -p /srv/sftpuser要为用户' sftpuser '设置chroot ,您必须将目录的所有权变动为用户root,但保持组可以读取和实行而没有写入权限。

利用以下命令将目录的所有权变动为用户“root”。

sudo chown root /srv/sftpuser

付与组读取和实行权限,但不能写入。

sudo chmod g+rx /srv/sftpuser接下来,在“ /srv/sftpuser ”目录中创建一个新的“data”目录,并将该“ data ”目录的所有权变动为用户“ sftpuser ”。

mkdir -p /srv/sftpuser/data chown sftpuser:sftpuser /srv/sftpuser/data

到目前为止,下面详细先容了 SFTP 用户目录的配置。

目录“ /srv/sftuser”是默认的主目录。
用户 ' sftpuser '不能写入目录 ' /srv/sftpuser ',但可以读取该目录中的内容。
用户' sftpuser '可以将文件上传到目录' /srv/sftpuser/data '的SFTP做事器。
在 SSH 做事器上启用 SFTP

要在 OpenSSH 上启用 SFTP 做事器,您必须编辑 SSH 配置“/etc/ssh/sshd_config”。

1.利用 nano 或 vim 编辑 ssh 配置“ /etc/ssh/sshd_config ”。

sudo nano /etc/ssh/sshd_config

2.注释以下配置以禁用独立的“ sftp-server ”功能。

#Subsystem sftp /usr/lib/openssh/sftp-server将以下配置粘贴到该行的底部。

Subsystem sftp internal-sftpMatch Group sftpgroup ChrootDirectory %h X11Forwarding no AllowTCPForwarding no ForceCommand internal-sftp

保存配置并退出。

详细配置:

我们不该用子进程“ sftp-server ”,而是利用“ internal-sftp ”。
为组“ sftpgroup ”启用了 SFTP 做事器。
要运用新配置,请利用以下命令重新启动 ssh 做事。

sudo systemctl restart sshd

SFTP 做事器已准备就绪并可访问,它与 SSH 做事在同一端口上运行。

访问 SFTP 做事器

在客户端,我们将利用默认安装在大多数 Linux 发行版上的 sftp 命令行。
但是,您也可以利用其他命令行客户端或 GUI FTP 客户端,例如FileZilla、Cyber​duck等。

要连接到 SFTP 做事器,请实行 sftp 命令,如下所示。

sftp ftpuser@SERVER-IP

如果您的 SFTP 和/或 SSH 做事器在自定义端口上运行,您可以利用 sftp 命令,如下所示。

sftp -P PORT ftpuser@SERVER-IP

键入“ sftpuser ”的密码。

连接到 SFTP 做事器后,实行以下命令。

显示当前路径事情目录并列出所有可用的文件和目录。

pwdls

将本地文件上传到SFTP做事器的'/ '目录,会涌现' permission denied ',由于是chroot目录。

put /path/to/file/on/local /将本地文件上传到SFTP 做事器上的目录“ /data/ ”。
如果您的配置精确,您的文件将被上传到“ /data/ ”目录。

put /path/to/file1/on/local1 /data/put /path/to/file2/on/local /data/

现在利用以下命令 检讨“ /data ”目录中的可用文件。

ls /data/

您将看到您的文件上传到 SFTP 做事器。

结论

恭喜!
您已成功在 Linux 系统上配置 SFTP 做事器。
这种类型的配置可以运用在大多数安装了 OpenSSH 的 Linux 系统上。
此外,您还学习了如何为 SFTP 用户设置 chroot 目录并学习了基本的 sftp 客户端命令。

标签:

相关文章

大黄蜂,中国科技产业的崛起之作

近年来,随着我国科技产业的迅猛发展,越来越多的创新产品脱颖而出,成为了国内外市场的热门话题。其中,大黄蜂作为一款具有代表性的智能机...

PHP教程 2024-12-25 阅读0 评论0

易语言工具盒,赋能编程,助力数字化时代

随着互联网的快速发展,我国正迈入数字化时代。在这个时代,编程已经成为一项必备技能。易语言工具盒作为一款功能强大的编程工具,为广大编...

PHP教程 2024-12-25 阅读0 评论0

易语言号容错,创新科技赋能信息时代

随着互联网技术的飞速发展,信息传播速度越来越快,信息量也在不断膨胀。在这样一个信息爆炸的时代,如何确保信息的准确性和可靠性成为了一...

PHP教程 2024-12-25 阅读0 评论0