Linux搭建sftp

本教程主要是关于如何在CentOS上设置和使用SFTP.。使用FTP传输数据,很容易被匿名入侵者入侵(如果不使用TLS),因为它的端口对任何人都是开放的。可以使用SFTP作为更安全的替代方案。
SFTP使用SSH文件传输协议来提供安全的连接。
教程将展示如何为客户端提供对SFTP服务器的访问权限,但无法通过SSH登录到服务器本身。

1. 查看是否有SSH环境

只要服务器存在SSH环境皆可以使用SFTP服务,不需要安装其他程序,运行以下代码进行检测

 rpm -qa | grep ssh

出现以下结果说明已经安装了ssh软件包,可以使用SFTP
在这里插入图片描述

2. 配置SFTP

我们需要创建一个组和用户,方便管理所有的SFTP账户。先创建一个目录,作为SFTP服务的主目录。 SFTP用户目录对应该目录下的子目录。

mkdir -p /data/sftp 
chmod 701 /data

添加用户组

groupadd sftpusers

创建用户username,并添加到sftpusers用户组

useradd -g sftpusers -d /upload -s /sbin/nologin username

为该用户添加密码

passwd username
  • 现在我们有了一个用户名为username的用户,该用户在sftpusers用户组中。
  • -d /upload 命令制定了该用户的SFTP根目录位于服务器/data/sftp/upload
  • 限制了用户通过shell进行SSH登录,只能通过SFTP进行访问
  • 为用户设置了密码

创建用户使用目录并配置权限

mkdir -p /data/sftp/upload
chown -R root:sftpusers /data/sftp
chown -R username:sftpusers /data/sftp/upload

验证目录/data下的文件夹是否存在,以及配置是否正确。

ls -ld /data/
drwx-----x. 5 root root 54 Mar 22 14:29 /data/
ls -ld /data/sftp
drwxr-xr-x. 3 root sftpusers 20 Mar 22 14:29 /data/sftp
ls -ld /data/sftp/upload
drwxr-xr-x. 2 username sftpusers 6 Mar 22 14:29 /data/sftp/upload
cat /etc/passwd | grep username
username:x:1001:1001::/upload:/sbin/nologin

创建用户使用的upload目录

mkdir -p /data/sftp/upload

编辑/ etc/ssh/sshd_config配置文件,配置SSH协议创建SFTP进程。

vi /etc/ssh/sshd_config

文件末尾添加下面的配置

Match Group sftpusers
ChrootDirectory /data/sftp
ForceCommand internal-sftp

查看sshd状态

service sshd status

在这里插入图片描述
重启服务

service sshd restart

我们先来创建一个文件

touch /data/sftp/test.tst

启动SFTP

sftp username@127.0.1

在SFTP环境中运行命令试试

ls
pwd
lpwd
exit

结束

  • 5
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值