Políticas de clave del cliente SSH & class paramiko.client.AutoAddPolicy

Política para añadir automáticamente el nombre del host y la nueva clave del host al objeto HostKeys local, y guardarlo. Esto es usado por SSHClient.

classparamiko.client.MissingHostKeyPolicy

Interfaz para definir la política que SSHClient debe usar cuando el nombre de host del servidorSSH no está en las claves de host del sistema o en las claves de la aplicación. Las clases prefabricadas implementan políticas para añadir automáticamente la clave al objeto HostKeys de la aplicación (AutoAddPolicy), y para rechazar automáticamente la clave (RejectPolicy).

Esta función puede utilizarse para pedir al usuario que verifique la clave, por ejemplo.

__weakref__

Lista de referencias débiles al objeto (si está definido)

missing_host_key(cliente, nombre de host, key)

Se llama cuando un SSHClient recibe una clave de servidor para un servidor que no está ni en el sistema ni en el objeto HostKeys local. Para aceptar la clave, simplemente devuelve. Para rechazarla, se lanza una excepción (que se pasa a la aplicación que llama).

classparamiko.client.RejectPolicy

Política para rechazar automáticamente la clave & de hostname desconocido. Esto es utilizado por SSHClient.

clase paramiko.client.SSHClient

Una representación de alto nivel de una sesión con un servidor SSH. Esta clase envuelve TransportChannel, y SFTPClient para encargarse de la mayoría de los aspectos de autenticación y apertura de canales. Un caso de uso típico es:

Puedes pasar anulaciones explícitas para la autenticación y la comprobación de claves del servidor. El mecanismo por defecto es intentar usar archivos de claves locales o un agente SSH (si se está ejecutando uno).

Las instancias de esta clase pueden usarse como gestores de contexto.

Nuevo en la versión 1.6.

__init__()

Crea un nuevo SSHClient.

close()¶

Cierra este SSHClient y su Transport.

Atención

No hacer esto puede, en algunas situaciones, hacer que tu Pythoninterpreter se cuelgue al cerrar (a menudo debido a condiciones de carrera).Es una buena práctica para close tus objetos cliente cada vez que termines de usarlos, en lugar de confiar en la recolección de basura.

connect(hostname, port=22, username=None, password=None, pkey=None, key_filename=None, timeout=None, allow_agent=True, look_for_keys=True, compress=False, sock=None, gss_auth=False, gss_kex=False, gss_deleg_creds=True, gss_host=None, banner_timeout=None, auth_timeout=None, gss_trust_dns=True, passphrase=None, disabled_algorithms=None)¶

Conéctese a un servidor SSH y autentifíquese en él. La clave de host del servidor se comprueba con las claves de host del sistema (ver load_system_host_keys)y cualquier clave de host local (load_host_keys). Si el nombre de host del servidor no se encuentra en ninguno de los conjuntos de claves de host, se utiliza la política de claves de host faltantes (véase set_missing_host_key_policy). La política por defecto es rechazar la clave y lanzar un SSHException.

La autenticación se intenta en el siguiente orden de prioridad:

    Los pkey o key_filename pasados (si los hay)

    • key_filename pueden contener rutas de certificados públicos OpenSSH así como rutas de claves privadas normales; cuando se encuentran archivos que terminan en-cert.pub, se asume que coinciden con una clave privada, y se cargarán ambos componentes. (No es necesario que la clave privada aparezca en key_filename para que esto ocurra, sólo el certificado.)
  • Cualquier clave que podamos encontrar a través de un agente SSH
  • Cualquier clave «id_rsa», «id_dsa» o «id_ecdsa» que se pueda descubrir en~/.ssh/
    • Cuando existan certificados públicos estilo OpenSSH que coincidan con una clave privada de este tipo (por lo que e.por ejemplo, uno tiene id_rsa yid_rsa-cert.pub) el certificado se cargará junto con la clave privada y se utilizará para la autenticación.
  • Autenticación por nombre de usuario/contraseña, si se ha dado una contraseña

    Si una clave privada requiere una contraseña para desbloquearla, y se introduce una contraseña, ésta se utilizará para intentar desbloquear la clave.

    Parámetros:

    • nombre de host (str) – el servidor al que conectarse
    • puerto (int) – el puerto del servidor al que conectarse
    • nombre de usuario (str) – el nombre de usuario con el que autenticarse (por defecto, el nombre de usuario local actual)
    • contraseña (str) – Se utiliza para la autenticación con contraseña; también se utiliza para keydecryption privado si passphrase no se da.
    • Frase de paso (str) – Se utiliza para descifrar las claves privadas.
    • pkey (PKey) – una clave privada opcional para usar para la autenticación
    • nombre_del_archivo (str) – el nombre de archivo, o lista de nombres de archivo de la(s) clave(s) privada(s) opcional(es) y/o certificados para intentar la autenticación
    • timeout (float) – un tiempo de espera opcional (en segundos) para la conexión TCP
    • allow_agent (bool) – se establece en False para desactivar la conexión con el agente SSH
    • look_for_keys (bool) – se establece en False para deshabilitar la búsqueda de archivos de claves privadas detectables en ~/.ssh/
    • compress (bool) – se establece en True para activar la compresión
    • sock (socket) – un socket abierto o un objeto similar a un socket-(como un Channel) para utilizarlo en la comunicación con el host de destino
    • gss_auth (bool) – True si desea utilizar la autenticación GSS-API
    • gss_kex (bool) – Realiza el intercambio de claves GSS-API Key Exchange y autenticación de usuario
    • gss_deleg_creds (bool) – Delegar o no las credenciales del cliente GSS-API
    • gss_host (str) – El nombre de los objetivos en la base de datos kerberos. Por defecto: hostname
    • gss_trust_dns (bool) – Indica si se confía o no en el DNS para canonizar de forma segura el nombre del host al que se está conectando (por defectoTrue).
    • banner_timeout (float) – un tiempo de espera opcional (en segundos) para que se presente el banner SSH.
    • auth_timeout (float) – un tiempo de espera opcional (en segundos) para una respuesta de autenticación.
    • disabled_algorithms (dict) – un dict opcional que se pasa directamente a Transport y su palabra claveargumento del mismo nombre.

    Surge:

    BadHostKeyException – si la clave del servidor no pudo serverificada

    Surge:

    AuthenticationException – si la autenticación falló

    Surge:

    SSHException – si hubo algún otro error al conectarse o establecer una sesión SSH

    Surge:

    socket.error – si se produjo un error de socket al conectarse

    Cambiado en la versión 1.15: Se han añadido los argumentos banner_timeoutgss_authgss_kexgss_deleg_creds y gss_host.

    Cambiado en la versión 2.3: Se ha añadido el argumento gss_trust_dns.

    Cambiado en la versión 2.4: Añadido el argumento passphrase.

    Cambiado en la versión 2.6: Añadido el argumento disabled_algorithms.

    exec_command(command, bufsize=-1, timeout=None, get_pty=False, environment=None)¶

    Ejecuta un comando en el servidor SSH. Se abre un nuevo Channel y se ejecuta el comando solicitado. Los flujos de entrada y salida del comando se devuelven como objetos tipo Python file que representan stdin, stdout y stderr.

    Parámetros:

    • comando (str) – el comando a ejecutar
    • bufsize (int) – interpretado de la misma manera que por la función incorporada file() enPython
    • timeout (int) – establece el tiempo de espera del canal del comando. Ver Channel.settimeout
    • get_pty (bool) – Solicita una pseudoterminal al servidor (por defecto False).Ver Channel.get_pty
    • Entorno (dict) –

      Un dict de variables de entorno de la shell, para ser fusionado en el entorno por defecto en el que se ejecuta el comando remoto.

      Atención

      Los servidores pueden rechazar silenciosamente algunas variables de entorno; consulte la advertencia en Channel.set_environment_variable para más detalles.

    Devuelve:

    Las entradas, salidas y salidas estándar del comando que se está ejecutando, como una pareja3

    Surge:

    SSHException – si el servidor no consigue ejecutar el comando

    Cambiado en la versión 1.10: Se ha añadido el get_pty kwarg.

    get_host_keys()¶

    Obtener el objeto local HostKeys. Esto puede usarse para examinar las claves locales del host o cambiarlas.

    Devuelve:

    las claves locales del host como un objeto HostKeys.

    get_transport()

    Devuelve el objeto Transport subyacente para esta conexión SSH.Esto puede ser utilizado para realizar tareas de nivel inferior, como la apertura de specifickinds de canales.

    Devuelve:

    el Transport para esta conexión

    invoke_shell(term=’vt100′, width=80, height=24, width_pixels=0, height_pixels=0, environment=None)¶

    Inicia una sesión shell interactiva en el servidor SSH. Se abre un nuevo Channel y se conecta a una pseudo-terminal utilizando el tipo y tamaño de terminal solicitado.

    Parámetros:

    • Terminal (str) – el tipo de terminal a emular (por ejemplo, "vt100")
    • anchura (int) – la anchura (en caracteres) de la ventana del terminal
    • altura (int) – la altura (en caracteres) de la ventana del terminal
    • anchura_píxeles (int) -. la anchura (en píxeles) de la ventana del terminal
    • height_pixels (int) – la altura (en píxeles) de la ventana del terminal
    • environment (dict) – el entorno del comando

    Retorna:

    un nuevo Channel conectado a la shell remota

    Lleva:

    SSHException – si el servidor no consigue invocar un shell

    load_host_keys(filename)¶

    Carga claves de host desde un archivo local de claves de host. Las claves de host leídas con este método se comprobarán después de las claves cargadas mediante load_system_host_keys, pero se guardarán de nuevo mediante save_host_keys (para que puedan modificarse).La política de claves de host perdidas AutoAddPolicy añade claves a este conjunto y las guarda, cuando se conecta a un servidor previamente desconocido.

    Este método puede ser llamado varias veces. Cada nuevo conjunto de claves de host se fusionará con el conjunto existente (el nuevo sustituye al antiguo si hay conflictos). Cuando se guarda automáticamente, se utiliza el último nombre de host.

    Parámetros:

    Filename (str) – el nombre del archivo a leer

    Surge:

    IOError – si no se pudo leer el nombre del archivo

    load_system_host_keys(filename=None)¶

    Carga las claves de host desde un archivo del sistema (de sólo lectura). Las claves de host leídas con este método no serán guardadas de nuevo por save_host_keys.

    Este método puede ser llamado varias veces. Cada nuevo conjunto de claves de host se fusionará con el conjunto existente (el nuevo sustituye al antiguo si hay conflictos).

    Si filename se deja como None, se intentará leer las claves del archivo local de «hosts conocidos» del usuario, tal y como lo utiliza OpenSSH, y no se lanzará ninguna excepción si no se puede leer el archivo. Esto es probablemente sólo útil en posix.

    Parámetros:

    Nombre del archivo (str) – el nombre del archivo a leer, o None

    Los mensajes:

    IOError -si se proporcionó un nombre de archivo y no se pudo leer el archivo

    open_sftp()

    Abre una sesión SFTP en el servidor SSH.

    Devuelve:

    un nuevo SFTPClient objeto de sesión

    save_host_keys(filename)¶

    Guarda las claves de host de nuevo en un archivo. Sólo se guardarán las claves de host cargadas conload_host_keys (más las añadidas directamente) – no las claves de host cargadas con load_system_host_keys.

    Parámetros:

    nombre de archivo (str) – el nombre de archivo en el que se guardará

    Sube:

    IOError – si el archivo no pudo ser escrito

    set_log_channel(nombre)¶

    Establezca el canal para el registro. El valor por defecto es "paramiko.transport"pero se puede establecer lo que se quiera.

    Parámetros:

    nombre (str) – nuevo nombre del canal para el registro

    set_missing_host_key_policy(política)

    Establezca la política a utilizar cuando se conecte a servidores sin una clave de host conocida.

    Específicamente:

    • Una política es una «clase de política» (o instancia de la misma), es decir, alguna subclase de MissingHostKeyPolicy como RejectPolicy (la predeterminada), AutoAddPolicyWarningPolicy, o una subclase creada por el usuario.
    • Una clave de host es conocida cuando aparece en las estructuras de claves de host en caché del objeto cliente (las manipuladas por load_system_host_keysy/o load_host_keys).

    Parámetros:

    política (MissingHostKeyPolicy) – la política a utilizar cuando se recibe una clave de host de un servidor previamente desconocido

    claseparamiko.client.WarningPolicy

    Deja una respuesta

    Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *