Python FTP工具,启用ssh-dss公钥算法

2024-04-20 04:01:39 发布

您现在位置:Python中文网/ 问答频道 /正文

我用FTP连接编写python脚本。我无法使用连接到FTPftplib.FTP文件还有pysftp。在

手动FTP连接可以工作,但是我必须启用dsssh算法,在当前的openSSH版本中默认禁用该算法。 我的脚本缺少哪个配置?在

手动连接:

$ sftp -oHostKeyAlgorithms=+ssh-dss ftp_address

我使用pysftp的脚本:

^{pr2}$

堆栈跟踪:

Traceback (most recent call last):
  File "/Applications/PyCharm CE.app/Contents/helpers/pydev/pydevd.py", line 2411, in <module>
    globals = debugger.run(setup['file'], None, None, is_module)
  File "/Applications/PyCharm CE.app/Contents/helpers/pydev/pydevd.py", line 1802, in run
    launch(file, globals, locals)  # execute the script
  File "/Applications/PyCharm CE.app/Contents/helpers/pydev/_pydev_imps/_pydev_execfile.py", line 18, in execfile
    exec(compile(contents+"\n", file, 'exec'), glob, loc) 
  File "/ftp_tool.py", line 8, in <module>
    srv = pysftp.Connection(host=my_host, password=my_pass)
  File "/ftp_service/venv/lib/python3.4/site-packages/pysftp/__init__.py", line 132, in __init__
    self._tconnect['hostkey'] = self._cnopts.get_hostkey(host)
  File "/ftp_service/venv/lib/python3.4/site-packages/pysftp/__init__.py", line 71, in get_hostkey
    raise SSHException("No hostkey for host %s found." % host)
paramiko.ssh_exception.SSHException: No hostkey for host my_host found.

使用python3.4.3


Tags: inpy脚本apphostlineftppycharm
1条回答
网友
1楼 · 发布于 2024-04-20 04:01:39

FTP和SFTP是完全不相关的两个协议。在

您不能使用FTP协议(ftplib)连接到SFTP服务器。在

pysftp/Paramiko应该可以。如果没有,请发布一个关于pysftp/Paramiko的新问题,并提供更多细节。在

相关问题 更多 >