zoukankan      html  css  js  c++  java
  • Centos 7上搭建sftp服务(适用Centos6)

    1. sftp简介

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

    2. 首先查看openssh版本

    [root@localhost ~]# ssh -V
    OpenSSH_7.4p1, OpenSSL 1.0.2k-fips  26 Jan 2017
    

    版本必须大于4.8p1,低于的这个版本需要升级。

    3. 创建sftp用户组

    groupadd bmssftp
    

    4. 创建sftp用户并归到sftp用户组中

    useradd -g bmssftp -s /bin/false bmssftp
    passwd bmssftp
    # 这里为bmssftp用户设置密码为:bmssftp123
    

    5. 将sftp组的用户home目录统一指定到/data/sftp下,按用户名区分,这里先新建一个bmssftp目录,然后指定bmssftp的home为/data/sftp/bmssftp

    mkdir -p /data/sftp/bmssftp             #先新建一个bmssftp目录,作为bmssftp用户的home目录
    usermod -d /data/sftp/bmssftp bmssftp      #修改bmssftp的home目录为/data/sftp/bmssftp
    

    6. 配置sshd_config

    vim /etc/ssh/sshd_config

    注释掉**X11Forwarding yes **这句话,大概在101行

    注释掉**Subsystem sftp /usr/libexec/openssh/sftp-server **这句话,大概在132行

    并在文件末尾添加如下语句:

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

    7. 设定权限

    chown root:bmssftp /data/sftp/bmssftp
    chmod 755 /data/sftp/bmssftp
    

    8. 现在其实已经可以通过bmssftp账号密码登入了,但是在bmssftp文件夹中还不能上传文件,所以需要新建一个文件夹来供bmssftp用户上传文件

    mkdir -p /data/sftp/bmssftp/upload
    chown bmssftp:bmssftp /data/sftp/bmssftp/upload 
    chmod 755 /data/sftp/bmssftp/upload
    

    9. 关闭selinux

    setenforce 0
    

    vi /etc/selinux/config

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

    10. 重启sshd服务

    service sshd restart
    

    11. 本机验证sftp登录是否正常

    sftp 用户名@本机IP,然后输入对应密码

    [root@localhost sftp]# sftp bmssftp@127.0.0.1
    Connecting to 127.0.0.1...
    The authenticity of host '127.0.0.1 (127.0.0.1)' can't be established.
    RSA key fingerprint is c7:d0:94:8a:55:70:a7:a0:58:26:9c:e7:9d:d5:59:33.
    Are you sure you want to continue connecting (yes/no)? yes                  #首次登录会提示是否继续
    Warning: Permanently added '127.0.0.1' (RSA) to the list of known hosts.
    bmssftp@127.0.0.1's password:                     #输入bmssftp用户的密码(第4步创建用户时设置的密码)
    sftp> dir
    upload  
    sftp>
    

    如果出现sftp>,就没问题,这时候你就可以用第三方工具登录sftp进行上传和下载了。

    注意1

    ssh 服务要添加到防火墙规则的允许列表中。

    注意2

    如果你的操作系统的ssh服务做了源IP登录限制,请把你的源IP加入以下文件的允许IP列表中,否则用bmssftp用户无法登录。

    /etc/hosts.deny

    参考链接:
    https://blog.csdn.net/yeyinglingfeng/article/details/81503578

  • 相关阅读:
    pat 1034 Head of a Gang (30分)
    pta坑点
    Devc++ 编译 c++11
    Invitation Cards dijkstra法
    Cube Stacking
    畅通工程
    蚂蚁上树
    洛谷 P1439 【模板】最长公共子序列
    Recursive sequence
    A Simple Math Problem
  • 原文地址:https://www.cnblogs.com/weibin1/p/10893843.html
Copyright © 2011-2022 走看看