配置openssh实现sftp远程文件上传
2018-02-05 16:48
483 查看
客服端: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
服务器:阿里云默认使用的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
相关文章推荐
- Java ftp实现文件的上传和下载ftp,sftp sun.net.ftp.FtpProtocolException:Welcome message: SSH-2.0-OpenSSH_5.1
- Ubuntu下通过sftp远程登录linux系统,并实现上传、下载文件
- linux下远程服务器批量执行命令及SFTP上传文件 -- python实现
- 学习笔记2——远程连接linux服务器时SecureCRT的相关配置(包括实现对文件的上传、下载)
- Ubuntu下通过sftp远程登录linux系统,并实现上传、下载文件
- Ubuntu下通过sftp远程登录linux系统,并实现上传、下载文件
- Ubuntu下通过sftp远程登录linux系统,并实现上传、下载文件
- Struts2上传文件通过配置文件实现文件过滤
- VB用API实现FTP上传文件,创建远程目录(类模块)
- Vshell+SftpDrive实现Windows远程机器文件系统映射到本地文件系统
- C# 中WinForm 应用程序实现远程文件管理(上传、下载)的种种问题
- 探究ftp的奥妙之系统用户如何上传下载文件、vsftpd如何识别证书并利用客户端来实现远程连接传输
- debian基本设置以及配置XManager远程登录桌面、命令行设置、Xftp上传下载文件
- jsch java实现sftp文件上传下载
- 用curl 实现远程数据提交,支持文件上传 .
- JSch - Java实现的SFTP(文件上传详解篇)
- 用curl 实现远程数据提交,支持文件上传
- 配置文件DSN ,顺利实现远程!9 步搞定(图文详解)
- Openssh服务器的搭建,并使用PSFTP实现文件自动上传,下载的script命令
- php实现文件上传-从php配置到代码编写