2009-08-10 3 views
3

Ich versuche, unterstützte Authentifizierungstypen/Methoden von einem laufenden SSH-Server in Python zu bekommen.get_allowed_auths() in Paramiko für Authentifizierungstypen

Ich fand diese Methode get_allowed_auths() in der ServerInterface-Klasse in Paramiko, aber ich kann nicht verstehen, ob es in einem einfachen clientartigen Codeschnipsel verwendbar ist (ich schreibe etwas, das NUR in dieser Aufgabe erfüllt).

Jeder kann mir einige Links mit Beispielen vorschlagen, andere die Verteilung Dokumentation? Vielleicht irgendwelche anderen Ideen, dies zu tun?

Danke.

Antwort

4

Sie können versuchen, sich ohne Authentifizierung zu authentifizieren, was immer fehlschlagen sollte, aber der Server sendet dann die Authentifizierungstypen zurück, die fortgesetzt werden können. Es gibt eine auth_none() Methode, die von paramiko.Transport zur Verfügung gestellt wird, um dies zu tun.

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