【问题标题】:SFTP hang and authentication failure with paramikoparamiko 的 SFTP 挂起和身份验证失败
【发布时间】:2018-12-28 21:10:34
【问题描述】:

我正在尝试通过 SFTP 与 paramiko 和 Python 2.7 进行连接,最终从远程服务器获取文件并放入我的服务器。 (注意它也使用非标准端口)
但是当我尝试连接时 - 它需要很长时间,然后我得到一个身份验证错误。你有这个问题有解决的建议吗? 我没有密钥,它只使用用户名/密码。我可以毫无问题地连接图形 SSH 程序,因此凭据似乎正确。 这是代码:

hostname = 'remotehostname.com'
username=   'AB1239'
password= ‘password’
port = 10022

import paramiko
c = paramiko.SSHClient()
c.set_missing_host_key_policy(paramiko.AutoAddPolicy())
c.connect(hostname=hostname, username=username, password=password,port=port)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/lib/python2.7/site-packages/paramiko/client.py", line 380, in connect
    look_for_keys, gss_auth, gss_kex, gss_deleg_creds, gss_host)
  File "/usr/lib/python2.7/site-packages/paramiko/client.py", line 597, in _auth
    raise saved_exception
paramiko.ssh_exception.AuthenticationException: Authentication failed.


I am using:
>>> print paramiko.__version__
1.16.1

和python Python 2.7.5(在linux上)

http://docs.paramiko.org/en/2.4/api/transport.html#(这些是针对 2.4 版的,但请注意我使用的是早期版本) http://docs.paramiko.org/en/2.4/api/client.html 我也看过这个:Why does Paramiko hang if you use it while loading a module? 但仍有连接问题。

【问题讨论】:

  • 我强烈建议通过Python logging moduleparamiko.transport 启用调试日志记录。如果您目前根本没有使用它,大锤方法是logging.basicConfig(level=logging.DEBUG) 只为一切 进行调试日志记录。一旦你有一些日志,edit他们进入问题。

标签: python ssh paramiko


【解决方案1】:

我不太确定这是否 100% 回答了您的问题,但我认为总比没有回答好,尤其是因为我很确定它可以解决您的问题,即使我还没有对此进行测试释放(无默认端口)。

# coding: utf-8

from fabric.api import env, execute  # hosts
from fabric.network import ssh
from fabric.operations import get, run, sudo  # put

ssh.util.log_to_file("paramiko.log", 10)

env.host_string = 'remotehostname.com'
env.port = 10022

env.user = 'AB1239'
env.password = 'password'

# Attention: "rm -r" won't ask for password anymore!
env.warn_only = True

def blah():
    sudo('ls')
    get('/tmp/lolo*.xml', '/tmp', use_sudo=True)  # from remote to local
    # sudo('rm -r /tmp/what/no/')

execute(blah)

【讨论】:

  • 我没有对你的答案投反对票(还没有!) - 但很明显,为什么它被投反对票 - 你没有回答这个问题!更糟糕的是,您在发布“答案”时已经知道这一点。
  • 又搞笑了。你试过了吗?仅仅因为答案不适合问题 100% 并不意味着答案没有帮助。多年来,我一直在使用非常相似的脚本。无论是直接使用 paramiko 还是使用 Fabric 都没有问题,感谢 pip。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-05-31
  • 2014-01-24
相关资源
最近更新 更多