客服端: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(上级目录所有者为root,组内不能是可写权限,否则fatal: bad ownership or modes for chroot directory "/mnt/xxx")

•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

配置openssh实现sftp远程文件上传的更多相关文章

  1. SFTP远程文件上传

    远程服务器remote_host=192.168.29.142用户为remote_www,用户当前目录为/home/remote_www 本地服务器local_host=192.168.29.135用 ...

  2. [转]ExtJs入门之filefield:文件上传的配置+结合Ajax完美实现文件上传的asp.net示例

    原文地址:http://www.stepday.com/topic/?459 作文一个ExtJs的入门汉子,学习起来的确是比较费劲的事情,不过如今在这样一个网络资源如此丰富的时代,依然不是那么难了的. ...

  3. 配置php.ini实现PHP文件上传功能

    本文介绍了如何配置php.ini实现PHP文件上传功能.其中涉及到php.ini配置文件中的upload_tmp_dir.upload_max_filesize.post_max_size等选项,这些 ...

  4. SFTP多文件上传,删除

    公司项目中需要把项目的相关文件上传到服务器的tomcat中,需要在项目中进行以下几步操作: 1.添加项目信息,包括名称,描述,服务器ip,sftp的用户名,密码,端口号等,存在配置,部署,删除等操作 ...

  5. 【转】JSch - Java实现的SFTP(文件上传详解篇)

    JSch是Java Secure Channel的缩写.JSch是一个SSH2的纯Java实现.它允许你连接到一个SSH服务器,并且可以使用端口转发,X11转发,文件传输等,当然你也可以集成它的功能到 ...

  6. JSch - Java实现的SFTP(文件上传详解篇)

    JSch是Java Secure Channel的缩写.JSch是一个SSH2的纯Java实现.它允许你连接到一个SSH服务器,并且可以使用端口转发,X11转发,文件传输等,当然你也可以集成它的功能到 ...

  7. JSch - Java实现的SFTP(文件上传详解篇) [转载]

    文章来源:http://www.cnblogs.com/longyg/archive/2012/06/25/2556576.html JSch是Java Secure Channel的缩写.JSch是 ...

  8. JSch - Java实现的SFTP(文件上传详解篇)(转)

    JSch是Java Secure Channel的缩写.JSch是一个SSH2的纯Java实现.它允许你连接到一个SSH服务器,并且可以使用端口转发,X11转发,文件传输等,当然你也可以集成它的功能到 ...

  9. 移动商城第四篇【Controller配置、添加品牌之文件上传和数据校验】

    Controller层配置 编写SpringMVC的配置文件 springmvc.xml <?xml version="1.0" encoding="UTF-8&q ...

随机推荐

  1. eclim CSearch macro 问题的解决过程备忘录

    问题: CSearch 宏时. RuntimeException: Could not find file with URI because it is a relative path, and no ...

  2. Servlet第五课:Cookie的使用

    目标规划: 通过这一节课,我们能够懂得怎样使用Cookie.以及怎样获取Cookie中的内容. 插播广告:博客之星评选.点击投我一票.谢谢. Cookie的具体概述. 1. Cookie 是保存在cl ...

  3. cocos2d-x项目创建和打包

    1.创建C++的cocos2d-x项目:cocos new test_cpp02 -p com.benmutou.helloWorld -l cpp -d projects C++未编译目录: C++ ...

  4. 在 Visual Studio 2010 中配置SharpPcap

    最近需要在C#下写一个抓取ARP包的程序,网上找来找去,在C#下只能用SharpPcap来做了.SharpPcap是作者把winPcap用C#重新封装而来的,详细信息见如下的链接. SharpPcap ...

  5. 出现System.web.mvc冲突的原因及解决方法CS0433

    1.问题描述 CS0433:类型“System.Web.Mvc.WebViewPage<TModel>”同时存在于URL1和URL2中 2.解决方案 找到Web.config文件中的< ...

  6. Spring导出可以运行的jar包

    最近需要解决Maven项目导入可执行的jar包的问题,如果项目不包含Spring,那么使用mvn assembly:assembly即可,详情可以参考:http://www.cnblogs.com/l ...

  7. Android 里的数据储存

    数据持久化 关于数据储存,这个话题已经被反复讨论过很多次了,我是不建议把网络存储这种方式纳入到数据储存的范围的,因为这个和Android没多少关系,因此就有如下的分类: 本地储存(也称之为数据持久化, ...

  8. Rotate Image 旋转图像

    You are given an n x n 2D matrix representing an image. Rotate the image by 90 degrees (clockwise). ...

  9. 【PMP】合同类型

    合同类型与适用场景 图形解读: 总价类 (1)固定总价类合同:货物的采购价格在一开始就已确定,并且不允许改变(除非工作范围发生变更) (2)总价加激励费合同:同会设置价格上限,高于此价格的上限的全部成 ...

  10. oracle访问不同用户的表不添加用户名前缀

    问题的出现,是技术的不断推进.为了更好地实现价值的提升! 01.用视图 create view tab1 select * from B.tab1;       //在A用户下执行 02.同义词 gr ...