sftp服务搭建流程-centos 6.5

需求:公司需要做一个自动化导出账单,账单原始数据由第三方提供,为拿到原始sql数据,需要给第三方提供一台sftp服务器用来上传sql表。

整体流程:使用系统自带的sftp服务,首先创建给客户使用的sftp账号,让他只能在指定的目录下进行添加、修改、删除操作,并且只能使用sftp登录服务器,不能用ssh操作,保证可以上传,下载即可。搭建完毕测试上传及下载。提供sftp服务的有vsftpd和internal-sftp,这里用的是系统自带的internal-sftp,操作步骤如下---------

OS环境:CentOS release 6.5 (Final)

1、建立一个名为sftpuserssftp用户组

#groupadd sftpusers

 2、建立sftp账号(使用-s /bin/false来禁止sftpeb这个账户ssh登录权限),设置密码

useradd -s /bin/false -g sftpusers sftpeb
passwd

 3、配置ssh和权限

vi /etc/ssh/sshd_config

4、修改为下面内容,保存退出

UsePAM yes      #UsePAM改成yes

#注释掉这行
#Subsystem      sftp    /usr/libexec/openssh/sftp-server
#添加在配置文件末尾
Subsystem sftp internal-sftp     #指定使用sftp服务使用系统自带的internal-sftp
Match Group sftpusers             #匹配用户,如果要匹配多个组,多个组之间用逗号分割
ChrootDirectory %h                 #用chroot指定sftp账户登录的默认根目录 
ForceCommand internal-sftp    #强制执行内部sftp,并忽略任何~/.ssh/rc文件中的命令
X11Forwarding no                #这两行,如果不希望该用户能使用端口转发的话就加上,否则删掉
AllowTcpForwarding no

5、修改 /home/sftpeb/目录权限为root所有

chown root:root /home/sftpeb
chmod 755 /home/sftpeb

6、此时sftp用户登录后并不能上传文件,那是因为登录后默认是用户目录,比如/home/sftpeb,但是该目录是root用户拥有,因此我们还要修改权限。在用户目录下建立子目录,让sftpusers组中的用户可读写文件

cd /home/sftpeb/
mkdir upload

7、授权upload文件夹读写 ,让子文件夹upload属于sftpeb

chown -R sftpeb /home/sftpeb/upload
chmod 755 -R /home/sftpeb/upload

8、检查系统selinux是否关闭,如未关闭一定要关闭!(这点很重要,如果不关闭会导致无法上传,出现权限不足问题“Permission denied“)

vim /etc/selinux/config
#将SELINUX=enforcing改为SELINUX=disabled
#getenforce检查,为“Disabled”即表示已关闭selinux

 

9、重启ssh服务,测试是否可用,测试命令如下

#登录
sftp sftpeb@192.168.2.33
#上传
put /tmp/test.txt
#下载
cd upload
get test.txt

 以上sftp搭建及测试完成,下一篇记录使用sftp如何自动导入sql并自动生成账单

转载于:https://www.cnblogs.com/kk123/p/9054004.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值