轻松搭建安全高效的Linux SFTP服务器 (linux sftp 服务器)

随着互联网的普及,数据传输已经成为人们工作学习中不可避免的一个环节。然而,在数据传输的过程中,我们总是担心隐私泄露和信息被篡改等风险。作为一款支持安全文件传输的工具,Linux SFTP 服务器在数据传输领域发挥着重要的作用。本文将介绍如何。

一、安装OpenSSH

在开始之前,我们需要先安装OpenSSH软件包。一般情况下,你可以在你的Linux发行版主要软件源中获取OpenSSH。下面是安装 OpenSSH 的命令行安装指南:

以Debian/Ubuntu为例:

“`

apt-get update

apt-get install openssh-server

“`

以Fedora为例:

“`

dnf install openssh-server

“`

安装完成后,你可以通过以下命令验证OpenSSH:

“`

ssh localhost

“`

如果服务已经启动,你应该可以看到一个欢迎信息,代表服务正常运行。

二、配置sshd_config文件

在运行SFTP服务器之前,需要在sshd_config文件中进行一些重要的配置,以确保服务器的安全性。该文件的位置在/etc/ssh/sshd_config,不过在一些Linux发行版中,该文件可能位于不同的目录。

下面是sshd_config文件中有关SFTP的配置建议。

“`

Subsystem sftp internal-sftp

Match group sftponly

ChrootDirectory %h

X11Forwarding no

AllowTcpForwarding no

ForceCommand internal-sftp

“`

上述配置主要有以下几个作用:

* 将SFTP系统文件包装在内部SFTP子系统中,这将提高安全性并提供更好的性能。

* 在ChrootDirectory下,存储SFTP用户的目录被限制到他/她的家目录。

* 通过禁止 SSH 端口的转发来增加安全性。

* 禁用X11转发。

三、配置SFTP用户

完成了上述操作后,需要在系统上创建SFTP用户。采用创建系统用户的方式,我们需要使用以下命令创建一个用户:

“`

useradd -g sftponly -d /home/sftpuser -s /bin/false sftpuser

“`

对于上面的命令,请注意以下信息:

* -g选项将用户添加到sftponly组中,这是在sshd_config文件中配置的用户限制组。

* -d选项指定主目录,这通常是/home/sftpuser。

* -s选项指定shell程序,但使用/bin/false将其设置为无效,意味着此用户无法通过shell程序进行访问。

接下来,我们可以使用passwd 命令为用户设置密码,如下所示:

“`

passwd sftpuser

“`

将SFTP用户的SSH密钥添加到他们的家目录中。我们可以使用以下命令完成此操作:

“`

mkdir -p /home/sftpuser/.ssh/

vi /home/sftpuser/.ssh/authorized_keys

“`

在authorized_keys文件中,插入SFTP用户的公共SSH密钥。该文件的权限应设置为“600”(即只读),以确保文件只能由该用户访问。

四、启动sshd

在完成上述操作后,我们可以启动sshd并检查是否正确地配置了SFTP服务器。以下是在许多Linux发行版中启动sshd的命令:

“`

systemctl start sshd

systemctl status sshd

“`

如果你看到服务处于活动状态,你就可以通过以下命令到达服务器:

“`

sftp sftpuser@

“`

在登录后,你应该可以看到SFTP用户所属的目录,该目录被ChrootDirectory限制在家目录以下。

相关问题拓展阅读:

  • Linux(RH)如何禁止某些用户使用SFTP

Linux(RH)如何禁止某些用户使用SFTP

Linux系统可以通过sshd的配置项,禁止某些用户sftp登陆,方法如下:

1、打开sshd的配置文件

vi/etc/ssh/sshd_config

2、修改该配置文件,增加或修改如下行

# 禁止用户user1登陆,多个用户空格分隔

DenyUsers user1

# 禁止用户组group1的所皮液有用户登录,多个空格分隔

DenyGroups group1

3、保存配置后,重启sshd

/etc/rc.d/init.d/sshd restart

#完成上面的配置后,就可以禁止用户或用户组的用户进行SFTP登录

4、配置完毕后,在其它linux机器上使用燃镇物如下命令进行测试

# 使用ssh测试

# ssh 

‘s 旅告password:

Permission denied, please try again.

# 使用sftp测试

# sftp 

‘s password:

Permission denied, please try again.

#Permission denied 授权被拒绝,已经实现禁用该用户使用sftp

可以用sshd的配置项:DenyUsers,AllowUsers, DenyGroups,AllowGroups

举个例子:

把你希望禁止使用使用sftp服务的雹兄用户都加入某个组比如xyz

然后在/etc/ssh/sshd_config设置

DenyGroups xyz

这样所有属于xyz的用户就没有登录ssh的权限了,源乎袭自然也没有使用sftp的权限了。

注意仅仅在sshd_config禁止掉sftp-server是不够的,因为只要用户顷迹还能通过

ssh登录就可以用其他user space 的工具如scp上传下载文件,效果其实跟sftp是一样的。

印象里 sshd 的访问,需要给用户加入 ssh 组。如果没有加入 ssh 组,用户是无法登陆没饥 ssh 的。当然这要看系统的具体行尘设计。

一般服务器专用的 Linux 系统都是这么设计的。你把用户移出 ssh 组就行了。

其实还有一个办法就是,ftp 单独使用自己的用户列表,而不是使用系统用户列表。但这样会降低用户 ID 的系统集成度。但 ftp 用户没有这个主机系统的 ID ,他们也就没有办法访问档察禅任何 ftp 之外的东西了。

关于linux sftp 服务器的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

香港服务器首选树叶云,2H2G首月10元开通。
树叶云(shuyeidc.com)提供简单好用,价格厚道的香港/美国云服务器和独立服务器。IDC+ISP+ICP资质。ARIN和APNIC会员。成熟技术团队15年行业经验。

文章来源网络,作者:管理,如若转载,请注明出处:https://shuyeidc.com/wp/194483.html<

(0)
管理的头像管理
上一篇2025-04-02 13:11
下一篇 2025-04-02 13:13

相关推荐

  • 云服务器和云虚拟主机怎么选?云服务器和虚拟主机区别

    云服务器适合业务增长快、需弹性扩展的场景,而云虚拟主机适合预算有限、技术门槛低的小型静态网站或测试环境,二者核心区别在于资源独享性与运维复杂度,核心差异解析:从底层架构到使用体验很多人容易混淆这两者,觉得它们都是“买空间建站”,它们的底层逻辑完全不同,云服务器(ECS)就像是你租了一整栋别墅,水电网络独立,你想……

    2026-06-29
    0
  • 赣州智慧旅游招聘是真的吗?赣州旅游人才招聘信息

    中级岗位(3-5年经验)月薪范围通常在6000-10000元,这类岗位需要独立负责项目模块,如独立运营一个抖音账号,或维护一个景区小程序的功能迭代,具备成功案例的候选人议价能力较强,高级岗位(5年以上经验)月薪范围通常在10000-20000元,部分核心管理岗可达更高,这类人才需要具备战略规划能力,如制定整个景……

    2026-06-29
    0
  • 赣州智能物联网车位锁如何管理?智能车位锁管理系统多少钱

    赣州智能物联网车位锁管理的核心在于通过云端平台实现远程控锁、状态实时监控及自动计费,彻底解决传统车位“被占难管”与“找位难”的痛点,在赣州这样的城市,随着机动车保有量的持续增长,老旧小区、商业综合体以及私人固定车位的资源矛盾日益凸显,传统的机械地锁或简易遥控锁,不仅操作繁琐,更无法实现数据化管理,引入智能物联网……

    2026-06-29
    0
  • 赣州智能消防栓好用吗,智能消防栓多少钱一个

    赣州智能消防栓通过物联网技术实现实时监测与远程报警,能显著降低火灾响应时间并提升城市消防安全管理水平,是目前智慧城市建设中不可或缺的基础设施,赣州智能消防栓的核心价值与应用场景传统消防栓往往存在“看不见、摸不着、用不了”的痛点,在赣州这样地形复杂、老城区与新城区并存的区域,传统设施的管理难度极大,智能消防栓的出……

    2026-06-29
    0
  • 云服务器和物理机到底有啥区别?

    云服务器本质上是虚拟化资源池中的弹性实例,而传统物理服务器是独占的硬件实体,前者胜在弹性与运维便捷,后者强在物理隔离与性能稳定,具体选择取决于业务对成本、扩展性及安全合规的权衡,很多人初次接触服务器时,容易把“云服务器”和“传统物理服务器”混为一谈,觉得它们都是用来跑网站或存数据的盒子,这两者的底层逻辑完全不同……

    2026-06-29
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注