python向windows服务器上传文件(夹)

python向windows服务器上传文件(夹)

本人需求分析: 需要从本地将某个指定目录下的文件夹上传至服务器的某个指定目录下。

这次思路是采用python的 paramiko 库。paramiko是基于SSH用于连接远程服务器并执行相关操作。ssh是一个协议,OpenSSH是其中一个开源实现,本次实践就需要在服务器上下载OpenSSH,通过这个工具开启SSH服务。

但是由于是windows系统,因此Linux系统的OpenSSH不可用,我们可以通过github下载OpenSSH for windows,下载最新版本就可以。
下载链接:github-OpenSSH

安装步骤

  1. 下载后解压至服务器的路径C:\Program Files\OpenSSH下,这是官方要求的路径,不按照这个路径解压可能会出现问题(我也是看别人这么说),解压结果如下:

  1. 打开cmd,在路径C:\Program Files\OpenSSH下输入指令

    powershell.exe -ExecutionPolicy Bypass -File install-sshd.ps1

  2. 设置服务自动启动并启动服务:

    sc config sshd start= auto

    net start sshd

到此服务已经安装完毕,默认端口是22,默认用户名密码为Window账户名和密码,当然防火墙还是要设置对应端口允许通讯。不过我购买的云服务器,端口22默认是加入安全组的。

使用paramiko

  1. 首先安装paramiko库

    pip3 install paramiko

  2. 简单测试是否能正常使用,如果没有报错则连接成功

   import paramiko
   
   username = '***'	# 用户名为administrator
   password = '***'	# 密码为远程链接时所需要的密码(云服务器实例密码)
   
   transport = paramiko.Transport("127.94.106.73", 22)#获取Transport实例,其中22为端口号
   transport.connect(username=username, password=password) # 建立连接
   transport.close()
  1. 简单的往服务器上上传一个文件
import paramiko

username = '***'
password = '***'

transport = paramiko.Transport("127.94.106.73", 22)#获取Transport实例
transport.connect(username=username, password=password) # 建立连接
# 获取SFTP实例
sftp = paramiko.SFTPClient.from_transport(transport)
# 设置上传的本地/远程文件路径
localpath = "E:\\实验室\\Gblog\\Gblog-sqf\\123.txt"
remotepath = "C:\\my\\123.txt"

# 执行上传动作
sftp.put(localpath, remotepath)
transport.close()

我们在本地这个路径下创建一个文本文件

运行完代码后,我们可以看到服务器上对应路径下产生了一个一样内容的文件

到目前位置,从本地向windows服务器上传文件就完成了。

  • 1
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

红糖毛血旺

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值