【问题标题】:Passwordless SSH using paramiko使用 paramiko 的无密码 SSH
【发布时间】:2018-01-05 11:02:44
【问题描述】:

问题:我是 Paramiko 的菜鸟,试图从远程服务器上的 python 脚本(在个人机器上)运行一些命令。远程服务器不需要密码即可连接。

例如,如果我这样做 root@[IPaddress] 在我的 Mac 上,我可以通过 MacbookPro 终端成功连接到远程服务器。

但是,我尝试在 Python 脚本中使用 Paramiko 执行此操作,但无论我做什么,都会收到身份验证错误或没有可用的身份验证方法。

我浏览了Paramiko AuthenticationException issue,但在没有丰富的 Paramiko 经验的情况下,我无法实现这些答案。帮助?

这是我的代码:

import paramiko
import os
from paramiko import SSHClient

#Borrowed from the linked post 
class SSHClient_noauth(SSHClient):
    def _auth(self, username, *args):
        self._transport.auth_none(username)
        return

#How do I implement? 
ssh =  SSHClient()
sshc = SSHClient_noauth()._auth(username="root") #Where's the ssh obj passed?
sshc.set_missing_host_key_policy(paramiko.AutoAddPolicy())
sshc.connect("10.xxx.xxx.xxx") 

【问题讨论】:

    标签: python ssh paramiko


    【解决方案1】:

    好吧,不要让反对票让我失望。

    尝试做sshc.connect(remoteIP, username=username, password="") 并且成功了。万一有人被困了一个或两个多小时试图让这个工作,特别是工作,你可能想尝试输入一个“”而不是None

    【讨论】:

    • 你的代码真的有效吗?您没有回答您的问题ssh obj 在哪里传递?.
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-12-20
    • 2019-06-10
    • 2012-01-15
    • 1970-01-01
    • 2014-01-06
    • 2019-07-02
    • 2020-11-08
    相关资源
    最近更新 更多