Red de conocimiento informático - Problemas con los teléfonos móviles - ¿El módulo paramiko de Python admite la conexión a conmutadores?

¿El módulo paramiko de Python admite la conexión a conmutadores?

El propósito de paramiko

El módulo paramiko es una conexión segura remota SSH2 basada en Python. Admite métodos de autenticación y clave, y puede realizar conexiones remotas, ejecución de comandos y transferencia de archivos. y funciones SSH intermedias como proxy

Instalación

pip install paramiko

o easy_install paramiko

paramiko se basa en Crypto de terceros. , Ecdsa o terceros. p>

o easy_install paramiko

paramiko depende de Crypto, Ecdsa y pyhton-devel de terceros, por lo que necesita instalar

componentes principales de Paramiko

Clase SSHClient

La clase SSHClient es una representación de alto nivel de una sesión de servicio SSH. Implementa los métodos de establecimiento de suma de comprobación SFTP, canal y transporte

, y. el método de establecimiento de suma de comprobación SFTP

método de conexión

el método de conexión implementa la conexión ssh remota y la verifica

nombre de host El host de destino de la conexión

puerto= Puerto especificado SSH_PORT

username=Nombre de usuario sin autenticación

contraseña=Ninguna Contraseña para autenticación

pkey=Ninguna Método de clave privada para autenticación

key_filename=Ninguno Especifica un nombre de archivo o una lista de archivos para la clave de autenticación. file

timeout=Ninguno tiempo de espera de conexión TCP opcional

allow_agent=True, ya sea para permitir la conexión al agente ssh, el valor predeterminado es True, enable

look_for_keys= Verdadero, ya sea en ~/.ssh, el valor predeterminado es Verdadero Permitir

compress=False, si se habilita la compresión

sock=None,

gss_auth= Falso,

gss_auth=Falso,

p>

gss_kex=Falso,

gss_deleg_creds=Verdadero,

gss_host=Ninguno ,

banner_timeout=None

Parámetros

método exec_command

Un método para ejecutar de forma remota un comando Los flujos de entrada y salida del. Los comandos son entrada estándar, salida marcada y salida de error estándar

comando Comando ejecutado

bufsize=-1 tamaño del búfer de archivo

timeout=Ninguno

get_pty=False

Parámetros

método load_system_host_key

Cortar y pegar en el archivo de clave pública local, el valor predeterminado es ~/.AutoAddPolicy ())

La política de adición automática agrega automáticamente el nombre de host y la clave de host al objeto HostKeys local, no depende de la configuración de load_system_host_key. Por ejemplo, al establecer una nueva conexión ssh, no es necesario volver a ingresar sí o no para confirmar.

WarningPolicy se usa para registrar advertencias y aceptaciones de Python sobre claves de host desconocidas. Funciona de manera similar a AutoAddPolicy, pero. indicará que se trata de una conexión nueva

RejectPolicy rechaza automáticamente nombres de host y claves desconocidos, según la configuración de load_system_host_key.

Esta es la opción predeterminada

clase SFTPClient

SFTPCLient actúa como el objeto cliente de sftp e implementa operaciones remotas de archivos como carga, descarga, permisos y estado según la sesión de sftp. del protocolo de transferencia ssh

from_transport(cls,t) Crea un canal de cliente SFTP conectado

put(localpath, remotopath, callback=None, confirm=True) Sube los parámetros del archivo local a el servidor para confirmación: si se llama al método stat (), verifica el estado del archivo y devuelve el resultado de ls -l

get(remotepath, localpath, callback=None) descarga el archivo del servidor al local

mkdir() crea en el directorio del servidor

remove() elimina el directorio en el servidor

rename() cambia el nombre del directorio en el servidor

stat() comprueba el estado de los archivos en el servidor

p>

listdir() enumera los archivos en el directorio del servidor

Conexión remota y ejecución de comandos

Realizar conexión remota con el host y ejecutar comandos con registros

p>

* Método de verificación directa import paramiko

host = '172.16.200.45' port = 22user = 'root' passwd = '123123' # Crear objeto SSH ssh = paramiko.SSHClient() # Permitir conectarse a un host que no está en el archivo know_hosts ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())# Conectarse al servidor ssh.connect(hostname=host, port=port, nombre de usuario=usuario, contraseña=contraseña)

paramiko.util.log_ to_file('syslogin.log') ?# Registrar información de inicio de sesión

# Ejecutar comandos stdin, stdout, stderr = ssh.exec_command('df')# Obtener el resultado del comando result = stdout. read()print(result)# Cerrar la conexión ssh.close()

Importación de transmisión encapsulada SSHClient paramiko

host = '172.16.200.45'port = 22user = 'root' passwd = '123123'transport = paramiko.Transport(( host, port))

transport.connect(nombre de usuario=usuario, contraseña=contraseña)

ssh=paramiko.SSHClient()

p>

ssh._transport = transporte

stdin, stdout, stderr = ssh.exec_command('df') print(stdout.read())

Importación de conexión basada en clave pública paramiko

private_key = paramiko .RSAKey.from_private_key_file('/ home/fuzengjie/.ssh/id_rsa')

# Crear objeto SSH ssh = paramiko.SSHClient()# Permitir conexión usando clave pública