2009-08-10 56 views
3

我想從Python中運行的SSH服務器獲取支持的身份驗證類型/方法。get_allowed_auths()在paramiko身份驗證類型

我在Paramiko的ServerInterface類中發現了這個方法get_allowed_auths(),但我不明白它是否可用於簡單的類似客戶端的代碼片段(我正在寫一些完成此任務的東西)。

任何人都可以建議我與示例,其他分發文檔的一些鏈接? 也許有其他想法來做到這一點?

謝謝。

回答

4

您可以嘗試使用不驗證身份驗證,驗證應始終失敗,但服務器將發回可繼續的驗證類型。 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