Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用Python在远程服务器上添加文件_Python_Ssh_Server - Fatal编程技术网

如何使用Python在远程服务器上添加文件

如何使用Python在远程服务器上添加文件,python,ssh,server,Python,Ssh,Server,我想使用python将文件从笔记本电脑保存到远程服务器,但出现错误: 错误:失败 从最后一个命令开始 import paramiko ssh_client =paramiko.SSHClient() ssh_client.set_missing_host_key_policy(paramiko.AutoAddPolicy()) ssh_client.connect(hostname='ipaddress',username='user',password='passwd', port='port

我想使用python将文件从笔记本电脑保存到远程服务器,但出现错误: 错误:失败 从最后一个命令开始

import paramiko
ssh_client =paramiko.SSHClient()
ssh_client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh_client.connect(hostname='ipaddress',username='user',password='passwd', port='port')

ftp_client=ssh_client.open_sftp()
ftp_client.put('laptop/path/to/file/','server/saving/path/')
ftp_client.close()
此外,由于该文件上已存在同名文件,因此我想将其替换为此文件。你知道为什么这个代码不起作用吗

我不想在我的终端上使用ssh,因为我希望python脚本每周在更新文件时自动执行此操作


提前感谢您

您可以使用scp软件包在远程服务器上进行安全复制。像这样的

from scp import SCPClient

....

scp = SCPClient(ssh_client.get_transport())
payload = os.path.join(...path to file)
scp.put(payload, '/path/on/server/')

如果我将最后一个命令更改为scp.put(payload,'saving/directory/on/server/'),则文件将保存在服务器上的所需目录上,替换已存在的同名文件?@EAS有效负载是要发送到服务器的目录或文件的路径,您可以指定上载的远程路径,或者在上载文件的情况下,可以指定远程路径和文件名。比如说scp.put('test.txt','~/test2.txt')。好吧,看来你解决了我的问题。谢谢!!请提供完整的错误消息。OSError:Failure这只是错误消息。但我解决了这个问题。非常感谢@资产管理公司