• VM中Linux系统通过SFTP传输文件


    需求是将Windows系统中的文件传到VM下Linux系统中(CentOS7),记录下使用SFTP传输文件的操作方法。

    一、相关配置

    #创建sftp组:
    groupadd sftp
    #创建一个用户sftpuser:
    useradd -g sftp -s /bin/false sftpuser
    #设置sftpuser用户的密码,需要输入两次确认密码:
    passwd sftpuser
    
    #创建一个sftp的上传目录:(如指定已有目录则无需创建,跳过此步)
    mkdir /datas/sftpfiles
    #修改用户sftpuser所在的目录:
    usermod -d /datas/sftpfiles sftpuser
    
    配置sshd_config
    vi /etc/ssh/sshd_config
    
    #找到如下这行,并注释掉
    #Subsystem sftp /usr/libexec/openssh/sftp-server
    
    #添加如下几行(如果添加之后出现问题,则添加到最后)
    Subsystem sftp internal-sftp       #这行指定使用sftp服务使用系统自带的internal-sftp
    Match User sftpuser                #这行用来匹配用户
    ChrootDirectory /datas/sftpfiles   #用chroot将用户的根目录指定到/datas/sftpfiles,这样用户就只能在/datas/sftpfiles下活动
    AllowTcpForwarding no
    ForceCommand internal-sftp         #指定sftp命令
    
    #保存退出
    

    为什么用 internal-sftp 而不用默认的 sftp-server,这是因为:
    这是一个进程内的 sftp 服务,当用户 ChrootDirectory 的时候,将不请求任何文件;
    更好的性能,不用为 sftp 再开一个进程。

    #设定Chroot目录权限:
    chown -R root:root /datas/sftpfiles
    chmod 755 /datas/sftpfiles
    
    #建立SFTP用户登入后可写入的目录:
    mkdir /datas/sftpfiles/sftpuser      #如指定已有目录则无需创建,跳过此步,后面路径对应填写即可
    chown -R sftpuser:sftp /datas/sftpfiles/sftpuser/
    chmod 755 /datas/sftpfiles/sftpuser/
    
    #重启sshd服务:
    service sshd restart
    
    关闭SElinux:
    vi /etc/sysconfig/selinux
    
    #找到如下这行 
    SELINUX=enforcing
    
    #修改为
    SELINUX=disabled
    

    二、文件传输

    以WinSCP为例,打开后输入上面配置好的sftp用户名和密码,登录即可在物理机与Linux系统进行文件传输。

  • 相关阅读:
    简时——Beta冲刺 Day04
    简时——Beta冲刺 Day03
    简时——Beta冲刺 Day02
    SE_WorkX_提问回顾与个人总结
    通过SQL注入获得网站后台用户密码
    缓冲区溢出攻击与防范
    Pytorch_Part7_模型使用
    Pytorch_Part5_迭代训练
    Pytorch_Part2_数据模块
    Pytorch_Part1_简介&张量
  • 原文地址:https://www.cnblogs.com/LukeSteven/p/13490404.html
Copyright © 2020-2023  润新知