配置openssh实现sftp远程文件上传

客服端:winscp等ftp/sftp客户端

服务器:阿里云默认使用的openssh

需求:可以sftp远程传输文件到服务器固定文件夹下,不可远程ssh登录

步骤:

1. 建立系统用户ftpuser及组ftpgroup

useradd ftpuser

groupadd ftpgroup

2. 设置ftpuser密码

passwd ftpuser

然后输入密码

3. 设置ftpuser远程不能ssh登录

usermod -s /bin/false ftpuser

可以cat /etc/passwd查看系统用户的登录情况及主目录

4. 修改ftpuser主目录

usermod -d /mnt/xxx/

或者3、4步,统一用usermod -M -d /mnt/xxx/ -s /bin/false ftpuser

5. 编辑ssh配置文件,指定用户及目录

nano /etc/ssh/sshd_config,注释默认的Subsystem和UsePAM,并在最末尾添加以下几行(红字的)

UseDNS no
AddressFamily inet
PermitRootLogin yes
SyslogFacility AUTHPRIV
PasswordAuthentication yes

#--- 在UseDNS no这一行的下一行添加以下几行,不然报错,服务无法重启

Subsystem sftp internal-sftp
UsePAM yes
Match User ftpuser
ForceCommand internal-sftp
ChrootDirectory /mnt/xxx

AllowUsers root ftpuser #我用系统的sshd控制ssh远程登录,故也把ftpuser放入AllowUsers列表。

 

6. 重启sshd服务

service sshd restart

 

7. 测试ftpuser的ssh和sftp登录情况

ssh无法登录

sftp可以,默认列出/mnt/xxx文件夹

 

注意:

•ftpuser的用户目录和ssh配置文件里的目录一致

•ssh目录权限及所有者必须是755/root

•ftpuser得usermod里禁止ssh登录是/bin/false而不是/sbin/bash/nologin  (nologin是禁止了ssh和sftp)

 

参考:

http://blog.csdn.net/qq_35440678/article/details/52788808

https://www.cnblogs.com/xjnotxj/p/6912471.html

http://blog.csdn.net/kenight/article/details/36669679

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值