精彩评论
- al2359(2年前 (2023-02-06))
求科学离线插件,谢谢!34401355@qq.com
评:改版梅林固件安装SS【shadowsocks】科学上网插件教程 - al2359(2年前 (2023-02-06))
求科学离线插件,谢谢!!!
评:改版梅林固件安装SS【shadowsocks】科学上网插件教程
SFTP 文件传输协议是一种安全数据传输的方法,它是建立在 SSH 协议基础之上的数据传输协议,比以前的 FTP 协议更加的安全,所以现在推荐使用 SFTP 协议进行数据传输。
与 SSH 一样,SFTP 也使用加密和加密哈希函数保护数据的完整性。此外,它还支持多种安全身份验证方法,包括密码和基于密钥的身份验证。它也减少了服务器需要开放的端口数量,因为它和 SSH 使用相同的端口。
在本指南中,我们将介绍如何在 Linux 系统上设置 SFTP 服务器,以及 SFTP 的基本命令。
下面是本文内容的运行环境:
要设置 SFTP 服务器,必须在 Linux 系统上安装 OpenSSH 软件包。几乎所有 Linux 服务器都默认安装了 OpenSSH 软件包。但是,如果您的系统上没有 OpenSSH 软件包,可以从官方存储库安装它。
1. 要确保在您的 Linux 系统上安装了 OpenSSH 软件包,请使用以下命令进行验证。
对于 Debian 或 Ubuntu 服务器,可以使用下面的 dpkg 命令。
dpkg -l | grep ssh
下面是 Debian 系统的输出。
ii libssh2-1:amd64 1.9.0-2 amd64 SSH2 client-side library ii openssh-client 1:8.4p1-5 amd64 secure shell (SSH) client, for secure access to remote machines ii openssh-server 1:8.4p1-5 amd64 secure shell (SSH) server, for secure access from remote machines ii 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 服务器。
1. 执行以下命令创建一个新组’ sftpgroup ‘。
sudo groupadd sftpgroup
2.使用以下命令创建一个新用户“ sftpuser ”。
sudo useradd -G sftpgroup -d /srv/sftpuser -s /sbin/nologin sftpuser
选项说明:
3. 接下来,使用以下命令为用户“ sftpuser ”创建密码。
passwd sftpuser
输入一个高强度的密码并重复输入验证,然后按“ Enter ”确认。
要添加更多用户,请重复第 2 步和第 3 步,最重要的是,所有 SFTP 用户必须在组 ‘ sftpgroup ‘ 中,并且不能通过 SSH 访问 shell。
创建新组和用户后,为 SFTP 用户创建和配置 chroot 目录。
1. 对于用户’sftpuser’,新的主目录将位于’/srv/sftpuser’。执行下面的命令来创建它。
mkdir -p /srv/sftpuser
2. 要为用户’ sftpuser ‘设置 chroot ,必须将目录的所有权更改为 root 用户,但要保持组可以读取和执行而没有写入权限。
使用以下命令将目录的所有权更改为“root” 用户。
sudo chown root /srv/sftpuser
授予组读取和执行权限,但不能写入。
sudo chmod g+rx /srv/sftpuser
3. 接下来,在“ /srv/sftpuser ”目录中创建一个新的“data”目录,并将该“ data ”目录的所有权更改为“ sftpuser ”用户。
mkdir -p /srv/sftpuser/data chown sftpuser:sftpuser /srv/sftpuser/data
为 stpuser 设置限制目录。
到目前为止,下面详细介绍了 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
3. 将以下配置粘贴到该行的底部。
Subsystem sftp internal-sftp Match Group sftpgroup ChrootDirectory %h X11Forwarding no AllowTCPForwarding no ForceCommand internal-sftp
保存配置并退出。
详细配置:
4. 要应用新配置,请使用以下命令重新启动 ssh 服务。
sudo systemctl restart sshd
SFTP 服务器已准备就绪并可访问,它与 SSH 服务在同一端口上运行。
在客户端,我们将使用默认安装在大多数 Linux 发行版上的 sftp 命令行。但是,也可以使用其他命令行或 GUI FTP 客户端,例如 FileZilla、Cyberduck 等。
1. 要连接到 SFTP 服务器,请执行如下所示的 sftp 命令。
sftp ftpuser@SERVER-IP
如果您的 SFTP 和/或 SSH 服务器在自定义端口上运行,可以使用 sftp 命令,如下所示。
sftp -P PORT ftpuser@SERVER-IP
键入“ sftpuser ”的密码。
2. 连接到 SFTP 服务器后,执行以下命令。
显示当前路径工作目录,并列出所有可用的文件和目录。
pwd ls
3. 将本地文件上传到 SFTP服务器的‘/ ‘目录,会出现’ permission denied ‘,因为是 chroot 目录。
put /path/to/file/on/local /
4. 将本地文件上传到SFTP 服务器上的目录“ /data/ ”。如果您的配置正确,文件将会被上传到“ /data/ ”目录。
put /path/to/file1/on/local1 /data/ put /path/to/file2/on/local /data/
5. 现在使用以下命令 检查“ /data ”目录中的可用文件。
ls /data/
将看到文件已被上传到 SFTP 服务器。
「梦想一旦被付诸行动,就会变得神圣,如果觉得我的文章对您有用,请帮助本站成长」
上一篇:充分利用手头小机器,从Debian开始搭建aio(Debian11+PVE7+OMV)傻瓜式教程
求科学离线插件,谢谢!34401355@qq.com
评:改版梅林固件安装SS【shadowsocks】科学上网插件教程求科学离线插件,谢谢!!!
评:改版梅林固件安装SS【shadowsocks】科学上网插件教程