相关疑难解决方法(0)

使用pysftp验证主机密钥

我正在使用pysftp编写程序,它想要验证SSH主机密钥C:\Users\JohnCalvin\.ssh\known_hosts.

使用PuTTY,终端程序将其保存到注册表[HKEY_CURRENT_USER\Software\SimonTatham\PuTTY\SshHostKeys].

如何调和pysftp和PuTTY之间的区别?

我的代码是:

import pysftp as sftp

def push_file_to_server():
    s = sftp.Connection(host='138.99.99.129', username='root', password='*********')
    local_path = "testme.txt"
    remote_path = "/home/testme.txt"

    s.put(local_path, remote_path)
    s.close()

push_file_to_server()
Run Code Online (Sandbox Code Playgroud)

我收到的错误响应是:

E:\ Program Files(x86)\ Anaconda3\lib\site-packages\pysftp__init __.py:61:UserWarning:
无法从C:\ Users\JohnCalvin.ssh\known_hosts加载HostKeys.
您需要显式加载HostKeys(cnopts.hostkeys.load(filename))或disableHostKey检查(cnopts.hostkeys = None).warnings.warn(wmsg,UserWarning)Traceback(最近一次调用最后一次):文件"E:\ OneDrive\Python\GIT\DigitalCloud\pysftp_tutorial.py",第14行,在push_file_to_server()文件"E:\ OneDrive\Python\GIT\DigitalCloud\pysftp_tutorial.py",第7行,在push_file_to_server中s = sftp.Connection(host ='138.99.99.129',用户名='root',密码='********')文件"E :\ Program Files(x86)\ Anaconda3\lib\site-packages\pysftp__init __.py",第132行,在 init self._tconnect ['hostkey'] = self._cnopts.get_hostkey(host)文件"E:\ Program Files (x86)\ Anaconda3\lib\site-packages\pysftp__init __.py",第71行,在get_hostkey中引发SSHException("找不到主机%s的主机密钥."%host)paramiko.ssh_exception.SSHException:主机138.99没有主机密钥. 99.129找到了.在以下情况中忽略异常:> Traceback(最近一次调用最后一次):文件"E:\ Program Files(x86)\ Anaconda3\lib\site-packages\pysftp__init __.py",第1013行,在 del self.close()文件中"E :\ Program Files(x86)\ Anaconda3\lib\site-packages\pysftp__init __.py",第784行,如果self._sftp_live关闭:AttributeError:'Connection'对象没有属性'_sftp_live'

python ssh pysftp

53
推荐指数
5
解决办法
6万
查看次数

pysftp vs. Paramiko

我有一个简单的要求在SFTP服务器上删除文件.我发现pysftp和Paramiko库似乎允许我这样做并使用Paramiko开发了一个简单的应用程序,但我找不到比较两者的正确来源,所以我可以决定哪个我可以/应该使用.每种方法的优缺点是什么?

python sftp paramiko python-3.x pysftp

8
推荐指数
1
解决办法
2352
查看次数

如何使用 Python 中的 Paramiko 库将 Pandas DataFrame 传输到 SFTP 上的 .csv?

我想使用 Paramiko 模块将 Python 数据帧作为 .csv 文件直接传输到远程服务器。目前,我将数据帧另存为 .csv,然后将该 .csv 文件推送到服务器。我偶然发现了这个类似的问题How to write pandas dataframe to csv/xls on FTP direct ,但是否可以使用 Paramiko 模块?提前致谢!

这是我用来将 .csv 文件从我的目录传输到远程服务器的简单脚本:

import pandas as pd
import paramiko

# Save DataFrame as CSV
file_name = 'file.csv'
df.to_csv(file_name,index=False)

# Connect to Server Via FTP
ssh_client = paramiko.SSHClient()
ssh_client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh_client.connect(hostname='host',username='user_name',password='password')
ftp_client= ssh_client.open_sftp()

# Upload 'file.csv' to Remote Server
ftp_client.put('path_to_file.csv','path_to_remote_file')
Run Code Online (Sandbox Code Playgroud)

python sftp paramiko pandas

4
推荐指数
1
解决办法
4416
查看次数

标签 统计

python ×3

paramiko ×2

pysftp ×2

sftp ×2

pandas ×1

python-3.x ×1

ssh ×1