0
点赞
收藏
分享

微信扫一扫

Ubuntu sftp 配置使用 python 上传文件

Soy丶sauce 2022-06-03 阅读 90

SFTP 配置

  1. /etc/ssh/sshd_config 添加如下配置
    #Subsystem sftp /usr/lib/openssh/sftp-server
    Subsystem sftp  internal-sftp
    # Match Group sftp
    Match User sftp
    ChrootDirectory /data/sftp/
    AllowTcpForwarding no
    X11Forwarding no
    ForceCommand internal-sftp
  2. 重启 ssh 服务
    # systemctl restart sshd
  3. 创建登录 sftp 的用户和组名为: sftp
    # seradd -s /sbin/nologin sftp
  4. 如果需要其他用户通过 sftp 连接,通过以下命令将用户加入 sftp 组
    # usermod -a -G sftp user
  5. 创建用于 ChrootDirectory 配置的用户根目录 /data/sftp 权限必须是 755 属主属组是 root
    # mkdir /data/sftp
  6. /data/sftp 目录下创建一个 share 目录,设置属组为 sftp 用于 sftp 组中用户上传下载
    # mkdir /data/sftp/share && chown :sftp share

使用 Python 上传文件到 SFTP

  1. 使用 pysftp 模块上传文件 start.txt 到 sftp 服务器
    
    import pysftp

with pysftp.Connection(host='10.10.2.10', username='sftp', password='liubin0505star') as f:
f.put("/tmp/star.txt", "/share/star.txt")

2. 在 sftp 服务器的 /data/sftp/share 目录下确认上传的 start.txt 文件

ls -l /data/sftp/share/

total 0
-rw-rw-r-- 1 sftp sftp 0 Jun 3 16:27 star.txt

举报

相关推荐

0 条评论