• 在Linux配置SFTP服务

    2017-05-14 21:50:20
    SFTP介绍sFTP(安全文件传输程序)是一种安全的交互式文件传输程序,其工作方式与 FTP... 它连接并登录到指定的远程机器,然后切换到交互式命令模式,该模式用户可以执行各种命令。 sftp是Secure File Transfer Pr

    SFTP介绍

    sFTP(安全文件传输程序)是一种安全的交互式文件传输程序,其工作方式与 FTP(文件传输协议)类似。 然而,sFTP 比 FTP 更安全;它通过加密 SSH 传输处理所有操作。 它可以配置使用几个有用的 SSH 功能,如公钥认证和压缩。 它连接并登录到指定的远程机器,然后切换到交互式命令模式,在该模式下用户可以执行各种命令。

    sftp是Secure File Transfer Protocol的缩写,安全文件传送协议。可以为传输文件提供一种安全的加密方法。sftp 与 ftp 有着几乎一样的语法和功能。SFTP 为 SSH的一部分,是一种传输档案至 Blogger 伺服器的安全方式。其实在SSH软件包中,已经包含了一个叫作SFTP(Secure File Transfer Protocol)的安全文件传输子系统,SFTP本身没有单独的守护进程,它必须使用sshd守护进程(端口号默认是22)来完成相应的连接操作,所以从某种意义上来说,SFTP并不像一个服务器程序,而更像是一个客户端程序。SFTP同样是使用加密传输认证信息和传输的数据,所以,使用SFTP是非常安全的。但是,由于这种传输方式使用了加密/解密技术,所以传输效率比普通的FTP要低得多,如果您对网络安全性要求更高时,可以使用SFTP代替FTP。


    SFTP在Linux上的配置

    1. 查看ssh版本
      sftp是基于ssh协议的,首先查看ssh版本,openssh-server版本至少得是4.8p1, 因为配置权限需要版本添加的新配置项ChrootDirectory来完成。
      [root@test ~]# ssh -V
      OpenSSH_5.3p1, OpenSSL 1.0.1e-fips 11 Feb 2013

    2. 创建用户和组
      [root@test ~]#groupadd sftp
      [root@test ~]#useradd -g sftp -s /sbin/nologin sftp

    3. 给家目录更改属主并授权
      家目录属主必须是root,权限可以是755或者750
      chown root:sftp sftp
      chmod 755 -R sftp

    4. 编辑配置文件/etc/ssh/sshd_config
      Subsystem sftp /usr/libexec/openssh/sftp-server #注释掉这行
      Subsystem sftp internal-sftp #增加以下6行
      Match Group sftp
      ChrootDirectory /home/%u #设定属于用户组sftp的用户访问的根文件夹
      ForceCommand internal-sftp
      AllowTcpForwarding no
      X11Forwarding no #设置不允许SSH的X转发

    5. 重启sshd服务
      [root@test ~]#rcsshd restart
      Stopping sshd: [ OK ]
      Starting sshd: [ OK ]

    6. 验证是否生效
      在另一台客户机上,使用sftp 用户@IP进行连接
      [root@dengqp02 share_root]# sftp sftp@10.20.2.23
      Connecting to 10.20.2.23…
      sftp@10.20.2.23’s password:
      sftp> ls
      a.txt
      sftp>
      常见问题: 如果你链接服务器的时候出现下面的提示: Write failed: Broken pipe Couldn’t read packet: Connection reset by peer 这个问题的原因是ChrootDirectory的权限问题,你设定的目录必须是root用户所有,否则就会出现问题。所以请确保sftp用户根目录的所有人是root, 权限是 750 或者 755。


    linux sftp 安全文件传输命令

    1. 常用登陆方式
      格式:sftp [user]@[host]
      通过sftp连接[host],端口为默认的22,指定用户[user]。

    2. 查看sftp支持的命令
      sftp>help

    3. 基本的使用
      sftp> ls #list directory
      sftp> pwd #print working directory on remote host
      sftp> lpwd #print working directory on local host
      sftp> mkdir uploads #create a new directory


    如何使用 sFTP 上传文件夹
    要将整个目录上传到远程 Linux 主机中,请使用put命令。但是,如果目录名称不存在于远程主机上的工作目录中,你将收到错误,如下面的屏幕截图所示。
    因此,首先在远程主机上创建一个具有相同名称的目录,然后从本地主机上传它,-r参数允许拷贝子目录和子文件:
    sftp> put -r Tecmint.com-articles
    sftp> mkdir Tecmint.com-articles
    sftp> put -r Tecmint.com-articles
    这里写图片描述
    要保留修改时间、访问时间以及被传输的文件的模式,请使用-p标志。
    sftp> put -pr Tecmint.com-articles如何使用 sFTP 下载文件夹
    要从远程 Linux 主机下载整个 fstools-0.0 文件夹到本机中,如下所示使用 get 命令带上-r标志:
    sftp> get -r fstools-0.0
    这里写图片描述
    使用 sFTP 下载目录
    如果文件夹已经下载完成了,接着查看本机的工作目录。
    要退出 sFTP shell,输入:
    sftp> bye或者sftp> exit


    使用XSHELL连接SFTP

    xftp是完全图形化操作的
    Xftp下载地址:http://www.jb51.net/softs/81853.html
    在xftp里新建一个连接,注意协议需要选择SFTP,然后依次填写IP、账户和密码并连接登录。
    这里写图片描述
    默认进入的是用户的 /root 目录下。此时就可以将文件上传到服务器里了。需要注意的是这时候上传的文件的拥有者和拥有组都是当前登录的用户。
    这里写图片描述

    展开全文
  • 在Linux下配置sftp

    2019-09-29 14:24:48
    在Linux下配置sftp # ssh -V 查看openssh版本,需要高于4.8p1 1、创建sftp组 # groupadd sftp 2、创建一个sftp用户,名为mysftp并设置密码 #useradd -g sftp -s /bin/falsemysftp # passwd mysftp ...

    在Linux下配置sftp

     


     

    # ssh -V

    查看openssh版本,需要高于4.8p1

     

    1、创建sftp组

    # groupadd sftp  

     

    2、创建一个sftp用户,名为mysftp并设置密码

    # useradd -g sftp -s /bin/false mysftp

    # passwd mysftp

     

     

    3、sftp组的用户的home目录统一指定到/opt/sftppath下,

    # mkdir -p /opt/sftppath

    # usermod -d /opt/sftppath mysftp

     

    4、配置sshd_config

    # vim /etc/ssh/sshd_config

     

    找到如下这行,并注释掉

    Subsystem      sftp    /usr/libexec/openssh/sftp-server  

     

    在最后面添加

    Subsystem sftp internal-sftp

    Match User mysftp #你创建的用户

             ChrootDirectory /opt/sftppath  #用户的家目录

             X11Forwarding no

             AllowTcpForwarding no

             ForceCommand internal-sftp

     

     

    5、设定Chroot目录权限

    # chown root:root /opt/sftppath

    # chmod 755 /opt/sftppath

     

    6、建立SFTP用户登入后可写入的目录

    # mkdir /opt/sftppath/upload (创建目录)

    # chown mysftp:sftp /opt/sftppath/upload (指定所有者)

    # chmod 755 /opt/sftppath/upload (指定权限)

     

     

    7、重启sshd服务 

    # service sshd restart

     

     

    二、注意事项

     

    可能出现的错误:

    Write failed: Broken pipe

    Couldn’t read packet: Connection reset by peer

     

    解决方法:

    目录权限设置上要遵循2点:

    ChrootDirectory设置的目录权限及其所有的上级文件夹权限,属主和属组必须是root;

    ChrootDirectory设置的目录权限及其所有的上级文件夹权限,只有属主能拥有写权限,权限最大设置只能是755。

    如果不能遵循以上2点,即使是该目录仅属于某个用户,也可能会影响到所有的SFTP用户。

     

    展开全文
  • 该文档介绍了如何在linux系统配置sftp服务器的步骤,大家感受一下。
  • CentOS Linux 7 配置SFTP

    2018-07-07 16:22:05
    常用SSH的朋友应该知道,通过SSH可以直接上传和下载文件,似乎不需要FTP了?没错,目前越来越多的FTP客户端软件开始支持SSH协议...下面介绍下在最常用的服务器系统 CentOS Linux 7 上配置 SFTP 的方式!第一步:创...

    常用SSH的朋友应该知道,通过SSH可以直接上传和下载文件,似乎不需要FTP了?

    没错,目前越来越多的FTP客户端软件开始支持SSH协议上传和下载文件,这种协议方式就是SFTP。

    SFTP的优势主要有两点,一是不需要再配置个FTP服务端;二是SSH协议是安全传输,上传和下载是经过加密的。

    下面介绍下在最常用的服务器系统 CentOS Linux 7 上配置 SFTP 的方式!

    • 第一步:创建sftp服务用户组,创建sftp服务根目录:
    groupadd sftp
    #此目录及上级目录的所有者(owner)必须为root,权限不高于755,此目录的组最好设定为sftp
    chown -R root /home/sftp
    chmod -R 755 /home/sftp

    • 第二步:创建sftp服务用户:
    #添加用户 使用参数 -s/sbin/nologin禁止用户通过命令行登录 
    useradd -g sftp -d /home/sftp/sftpuser -s /sbin/nologin sftpuser

    • 第三步:配置sshd_config:
    vim /etc/ssh/sshd_config

        注释掉下面这一行:

    Subsystem  sftp    /usr/libexec/openssh/sftp-server

        在sshd_config最后加入下面这几行:

    Subsystem sftp internal-sftp
    Match Group sftp
        ChrootDirectory /home/sftp/%u
        X11Forwarding no
        AllowTcpForwarding no
        ForceCommand internal-sftp

        这里要注意一下,上面这些代码务必放在最后,因为必须要“UseDNS no”后面。

    •     第四步:重启sshd:
    systemctl restart sshd

        现在可以正常连接了,但是可能还有个问题,就是无法上传,于是我们需要设置下写入权限:

    chown ftpuser -R /home/sftp/sftpuser
    chmod -R 755 /home/sftp/sftpuser

        大功告成!


    展开全文
  • Linux下配置SFTP服务器

    2017-07-09 09:47:01
    最近做一个微信支付水电费的项目,是与兴业银行合作的项目,按照银行的要求要配置一个SFTP服务器,上传每天缴费的对账单到SFTP服务器里面,经过一段时间的摸索,终于配置成功了,跟大家分享一下,配置过程如下:

           最近在做一个微信支付水电费的项目,是与兴业银行合作的项目,按照银行的要求要配置一个SFTP服务器,上传每天缴费的对账单到SFTP服务器里面,经过一段时间的摸索,终于配置成功了,跟大家分享一下,配置过程如下:

    0、查看openssh的版本

    1. ssh -V   

    使用ssh -V 命令来查看openssh的版本,版本必须大于4.8p1,低于的这个版本需要升级。

    1、创建sftp

    1. groupadd sftp  

    2、创建一个sftp用户,用户名为mysftp密码为mysftp

    修改用户密码和修改Linux用户密码是一样的。

    useradd -g sftp -s /bin/false mysftp  //用户名
    passwd
     mysftp  //密码

    1. useradd -g sftp -s /bin/false mysftp  

    2. passwd mysftp  


    3
    sftp组的用户的home目录统一指定到/data/sftp下,按用户名区分,这里先新建一个mysftp目录,然后指定mysftphome/data/sftp/mysftp

    1. mkdir -p /data/sftp/mysftp  

    2. usermod -d /data/sftp/mysftp mysftp  


    4
    、配置sshd_config
    文本编辑器打开 /etc/ssh/sshd_config
     vi/etc/ssh/sshd_config

    找到如下这行,用#符号注释掉,大致在文件末尾处。
    # Subsystem      sftp   /usr/libexec/openssh/sftp-server  

    在文件最后面添加如下几行内容,然后保存。

    1. Subsystem       sftp    internal-sftp    

    2. Match Group sftp    

    3. ChrootDirectory /data/sftp/%u    

    4. ForceCommand    internal-sftp    

    5. AllowTcpForwarding no    

    6. X11Forwarding no  


    5
    、设定Chroot目录权限

    1. chown root:sftp /data/sftp/mysftp  

    2. chmod 755 /data/sftp/mysftp  


    6
    、建立SFTP用户登入后可写入的目录

    照上面设置后,在重启sshd服务后,用户mysftp已经可以登录。但使用chroot指定根目录后,根应该是无法写入的,所以要新建一个目录供mysftp上传文件。这个目录所有者为mysftp,所有组为sftp,所有者有写入权限,而所有组无写入权限。命令如下:

    1. mkdir /data/sftp/mysftp/upload  

    2. chown mysftp:sftp /data/sftp/mysftp/upload  

    3. chmod 755 /data/sftp/mysftp/upload  


    7
    、修改/etc/selinux/config

    文本编辑器打开/etc/selinux/config

    1. vi /etc/selinux/config  

    将文件中的SELINUX=enforcing 修改为 SELINUX=disabled ,然后保存。

    在输入命令

    1. setenforce 0  


    8
    、重启sshd服务

    输入命令重启服务。

    1. service sshd restart  


    9
    、验证sftp环境
    mysftp用户名登录,yes确定,回车输入密码。

    1. sftp mysftp@127.0.0.1  

    显示 sftp> sftp搭建成功。

     

    10、使用WinSCP,xftp等客户端软件连接SFTP服务器

    输入主机IP地址、用户名、密码、端口连接SFTP服务器,端口默认为22

     

    本人长期从事java软件工程师培训,有30多门java相关的系列视频课程,大量的实战项目及源代码提供下载,有兴趣的朋友可以看看

    http://edu.csdn.net/course/detail/2981

    展开全文
  • linux配置sftp服务器

    2017-06-09 12:00:11
    操作系统linux centos 7 添加用户组:groupadd sftp 添加用户并设置为sftp组sudo useradd -g sftp -s /sbin/nologin -M sftpsftp :用户修改sftp用户的密码sudo passwd sftp 会提示你输入密码创建sftp用户的根目录并...

    看了很多别人写的博客。自己实践总结出一点经验
    操作系统linux centos 7

    添加用户组:

    groupadd sftp  

    添加用户并设置为sftp组

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

    sftp :用户

    修改sftp用户的密码

    sudo passwd sftp  

    会提示你输入密码

    创建sftp用户的根目录并设置拥有者和组,修改权限(755)

    cd /usr
    sudo mkdir sftp  
    
    sudo chown root:sftp sftp  
    
    sudo chmod 755 sftp 

    在sftp的目录中创建admin可写的目录

    cd sftp  
    sudo mkdir file  
    
    sudo chown sftp:sftp file/

    sftp:前是创建的用户

    修改配置文件

    sudo vim /etc/ssh/sshd_config  
    #Subsystem      sftp    /usr/libexec/openssh/sftp-server  
    Subsystem       sftp    internal-sftp 

    在sshd_config文件最后添加

    Match User sftp  
            X11Forwarding no  
            AllowTcpForwarding no  
            ForceCommand internal-sftp  
            ChrootDirectory /usr/sftp

    ChrootDirectory :登录连接后能访问的目录

    重启服务

    sudo service sshd restart  

    验证是否成功

    用mysftp用户名登录,yes确定,回车输入密码。

    sftp sftp@127.0.0.1  

    显示 sftp> 则sftp搭建成功

    连接

    端口默认22
    ip :服务器地址
    user:sftp
    pwd:123456

    展开全文
  • linux下sftp服务配置

    2018-02-11 18:08:43
    1.sftp配置 1) 查看ssh版本 sftp是基于ssh协议的子协议,首先查看ssh版本,openssh -server版本至少得失4.8p1, 因为配置权限需要版本添加的新配置项ChrootDirectory来完成 [root@izys605x4c311swvscc1y0z ~]#...
  • 之前我服务器是使用的Windows Server 2003,这段时间由于访问量变大我还是机智的换成Linux了,搭建FTP的时候看到网上都是推荐vsftpd,不过我不推荐这个家伙,看官且看下文。 我推荐使用SSH自带的SFTPSFTP是...
  • Linux 自带SFTP 配置

    2018-07-04 10:22:35
    开始的时候在Linux上装了一个vsftp,以此来搭建FTP服务器,然后配置了白名单、黑名单,限定了各个用户的访问目录,最后发现没有生效。然后使用命令查看,发现ftp的进程不是vsftp,而是sshd的ftp。ps aux | grep ftp...
  • linux安装配置sftp和ftp

    2018-11-19 15:06:32
    rpm -qa|grep vsftpd #查看是否安装vsftpd yum install vsftpd #安装vsftpd服务 cd /etc/vsftpd vim vsftpd.conf #修改此文件的anonymous_enable=YES 变为NO 新建一个用户 useradd jeny ...service vsftpd start #重启...
  • 最近练习Linux相关配置用到 给sftp 连接用户设置访问目录的权限问题,查看了好多的资料博客,鸟哥Linux私房菜也找了相关文章来看如何解决,都没有好的解决方案,突然找到了以下这边文章,尝试的这大神的方法一步...
  • Linux下搭建sftp服务器

    2019-10-15 15:52:10
    Linux下搭建sftp服务器 简介 VSFTP全称是Very Secure FTP,是一个基于GPL发布的类Unix系统上使用的FTP服务器软件,它的最大特点就是安全,从它的全名可以看出,另外,高速与高稳定性也是VSFTP的两个主要特点。 ...
  • linux配置sftp用户的chroot步骤(用户的sftp根目录) 标签: sftpchroot 2014-05-09 18:57 8681人阅读 评论(0) 收藏 举报 分类: sftp chroot 版权声明:本文为博主原创文章,未经博...
  • Linux下搭建SFTP示例

    2019-03-15 11:29:02
    SFTP简介(百度百科): sftp是Secure File Transfer Protocol的缩写,安全文件传送协议。...其实SSH软件包中,已经包含了一个叫作SFTP(Secure File Transfer Protocol)的安全文件信息传输子系...
  • 网上很难找到一篇适用于网站目录的SFTP配置说明,折腾了许久,我来写一篇完整点的。如果觉得中文难以理解的话, 请看一篇简洁的英文配置方法http://www.linuxtechi.com/configure-chroot-sftp-in-linux/。  首先...
  • linux配置sftp

    2011-05-04 23:28:00
    使用sftp功能需要ssh的配置文件/etc/ssh/sshd_config中添加如下配置文本,以SLES 10.3为例: Subsystem sftp /usr/lib64/ssh/sftp-server 然后service ssh restart重启ssh就OK了 以下是简单...
  • 由于vsftp采用明文传输,用户名密码可通过抓包得到,为了安全性,需使用sftp,锁定目录且不允许sftp用户登到服务器。...1. 远程目标创建sftp服务用户组,创建sftp服务根目录 1 groupadd s...
1 2 3 4 5 ... 20
收藏数 14,778
精华内容 5,911