sftp安装

来源:互联网 发布:centos 移动目录 编辑:程序博客网 时间:2024/05/16 11:34


1.1 文件存储SFTP服务安装

1.1.1 创建SFTP用户组

创建SFTP使用者专用的用户组,命令如下(红色字体可修改):

groupadd sftp

1.1.2 创建SFTP用户

创建程序使用的SFTP用户命令如下(红色字体可修改):

useradd -M -g sftp -s /sbin/nologin sftpuser

修改新建帐号密码

1.1.3 创建SFTP目录

创建SFTP所使用的目录,此目录需要创建在共享存储命令如下(红色字体可修改):

mkdir -p /cms/sftp/file

修改创建目录的所属用户组用户

chown sftpuser:sftp /cms/sftp/file

修改创建目录的权限,命令如下(红色字体可修改)

chmod 700 /cms/sftp/file

1.1.4 设置SFTP访问权限

编辑/etc/ssh/sshd_config文件,添加SFTP的访问权限将下面内容添加到文件最下面(红色字体可修改):

Subsystem       sftp    internal-sftp

Match Group sftp

ChrootDirectory /cms/sftp

ForceCommand    internal-sftp  

AllowTcpForwarding no  

X11Forwarding no

注意ChrootDirctory配置SFTP服务的根目录,需要设置到新创建SFTP目录的上一级目录,如果设置到新创建SFTP目录,会导致SFTP无法登录

1.1.5 启动SFTP服务

启动SFTP命令:/etc/init.d/sshd start

重启SFTP命令:/etc/inti.d/sshd restart

1.1.6 问题处理

1.如果SFTP无法连接无法上传文件,关闭SELinux服务即可


1.1.7 配置

1.如果SFTP无法连接无法上传文件,也可能是ftpPath 路径问题 会出现异常

SFTP Upload Exception
2: No such file
 at com.jcraft.jsch.ChannelSftp.throwStatusError(ChannelSftp.java:2289)
 at com.jcraft.jsch.ChannelSftp._realpath(ChannelSftp.java:1822)
 at com.jcraft.jsch.ChannelSftp.cd(ChannelSftp.java:268)
 at com.ultrapower.nismp.util.ftp.SftpUtil.upload(SftpUtil.java:61)
 at com.ultrapower.nismp.server.service.file.impl.FileServiceImpl.upload(FileServiceImpl.java:73)
 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
 at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
 at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
 at java.lang.reflect.Method.invoke(Method.java:606)
 at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317)
 at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183)
 at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
 at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:110)
 at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
 at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:90)
 at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
 at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
 at com.sun.proxy.$Proxy25.upload(Unknown Source)


0 0
原创粉丝点击