【问题标题】:get_allowed_auths() in paramiko for authentication types用于身份验证类型的 paramiko 中的 get_allowed_auths()
【发布时间】:2014-02-13 20:57:22
【问题描述】:
我正在尝试从 Python 中运行的 SSH 服务器获取支持的身份验证类型/方法。
我在 Paramiko 的 ServerInterface 类中找到了这个方法 get_allowed_auths() 但我不明白它是否可用于类似客户端的简单 sn-p 代码(我正在编写仅在此任务中完成的东西)。
任何人都可以建议我一些示例链接,其他分发文档?
也许还有其他想法可以做到这一点?
谢谢。
【问题讨论】:
标签:
python
authentication
ssh
paramiko
【解决方案1】:
您可以尝试不使用身份验证进行身份验证,这应该总是失败,但服务器会发回可以继续的身份验证类型。 paramiko.Transport 提供了一个 auth_none() 方法来执行此操作。
import paramiko
import socket
s = socket.socket()
s.connect(('localhost', 22))
t = paramiko.Transport(s)
t.connect()
try:
t.auth_none('')
except paramiko.BadAuthenticationType, err:
print err.allowed_types