Pergunta

Eu estou tentando obter tipos de autenticação suportados / métodos de um servidor SSH em execução em Python.

Eu encontrei este get_allowed_auths () método na classe ServerInterface em paramiko mas eu não consigo entender se é utilizável em um simples cliente-like trecho de código (estou escrevendo algo que realizar em apenas esta tarefa).

Alguém pode me sugerir algumas ligações com exemplos, outra documentação de distribuição? Talvez alguma outra idéia para fazer isso?

Graças.

Foi útil?

Solução

Você pode tentar autenticar usando nenhuma autenticação, que deve sempre falhar, mas o servidor irá enviar de volta os tipos de autenticação que podem continuar. Existe um método auth_none() fornecido pelo paramiko.Transport para fazer isso.

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
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top