利用CentOS自带SSH服务搭建SFTP服务器

本文详细介绍如何通过SSH服务搭建SFTP,包括创建用户、设置目录权限、配置SSH版本及参数等步骤,确保数据传输的安全。

传统的FTP数据不够安全,所以服务器上一般采用SFTP的方式对数据进行加密。如果服务器上已经开通了SSH服务,我们就可以直接利用SSH来开通SFTP服务,无需再另外安装软件。

 

一,新建系统账号

 

1.1 新建账号分组

Groupadd sftp

 

1.2 新建账号paul

useradd -s /sbin/nologin -g sftp -d /ZServer/demo   paul

passwd paul        //设置账号的密码

 

说明:

-s 账号登陆的模式,/sbin/nologin表示此账号只能FTP登陆,不能系统访问

-g sftp: 账号属于sftp分组

-d :设置账号的根目录

 

【目录权限的要求】

    如果要想paul可以SFTP账号登陆并成功访问/ZServer/demo目录,需要满足以下苛刻的条件。否则无法登录,给出的错误提示也让人摸不着头脑,无从查起。我在这上面浪费了很多时间。

   

Ø  账号的根目录需要完全属于账号本身。

Ø  账号根目录的上一级目录以及以上的全部目录都必须属于root账号,并且有且仅有root拥有写权限,也就是说权限最大设置为755。

 

1.3 设置账号根目录的权限

#cd /ZServer/

#chown -R paul:sftp  demo/

#chown -R 755 demo/

 

 

二,SSH版本:

首先要升级OpenSSH的版本。只有4.8p1及以上版本才支持Chroot。

查看SSH版本的指令是:

# ssh –v

# OpenSSH_5.3p1, OpenSSL1.0.1e-fips 11 Feb 2013

usage: ssh[-1246AaCfgKkMNnqsTtVvXxYy] [-b bind_address] [-c cipher_spec]

           [-D [bind_address:]port] [-eescape_char] [-F configfile]

           [-I pkcs11] [-i identity_file]

           [-L[bind_address:]port:host:hostport]

           [-l login_name] [-m mac_spec] [-Octl_cmd] [-o option] [-p port]

           [-R[bind_address:]port:host:hostport] [-S ctl_path]

           [-W host:port] [-wlocal_tun[:remote_tun]]

           [user@]hostname [command]

 

三,修改SSH配置文件

SSH版本满足要求后,需要修改SSH的配置文件。

 

SSH的最主要的配置文件有两个,分别为:

/etc/ssh/ssh_config

/etc/ssh/sshd_config

 

修改sshd_config如下:

#注释原来的Subsystem设置

Subsystem  sftp  /usr/libexec/openssh/sftp-server

#启用internal-sftp

Subsystem  sftp  internal-sftp

 

四,限制用户SFTP访问的根目录

#限制paul用户的根目录

Match User www

    ChrootDirectory /ZServer

    ForceCommand    internal-sftp

 

【注意】

这里配置的账号paul被限制访问的目录,一定要是一个拥有者是root的目录,否则paul将无法被限制且会导致登陆各种错误和异常。

 

#限制blog和pay用户的根目录

Match Group sftp

    ChrootDirectory %h

    ForceCommand    internal-sftp


五,最后重启SSH服务:

# service sshd restart


 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值