2009-08-10 16 views
3

J'essaie d'obtenir des méthodes/types d'authentification pris en charge à partir d'un serveur SSH en cours d'exécution en Python.get_allowed_auths() dans paramiko pour les types d'authentification

J'ai trouvé cette méthode get_allowed_auths() dans la classe ServerInterface dans Paramiko mais je ne comprends pas si elle est utilisable dans un simple fragment de code client (j'écris quelque chose qui accomplit SEULEMENT cette tâche).

Tout le monde peut me suggérer quelques liens avec des exemples, d'autres la documentation de distribution? Peut-être d'autres idées pour le faire?

Merci.

Répondre

4

Vous pouvez essayer de vous authentifier sans utiliser d'authentification, ce qui devrait toujours échouer, mais le serveur renvoie les types d'authentification qui peuvent continuer. Il existe une méthode auth_none() fournie par paramiko.Transport pour ce faire.

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