Saltar al contenido

Lea un archivo del servidor con SSH usando Python

Bienvenido a nuestra comunidad, en este lugar hallarás la solucíon de lo que buscas.

Solución:

de paramiko SFTPClient La clase le permite obtener un objeto similar a un archivo para leer datos de un archivo remoto de forma Pythonic.

Suponiendo que tienes un abierto SSHClient:

sftp_client = ssh_client.open_sftp()
remote_file = sftp_client.open('remote_filename')
try:
    for line in remote_file:
        # process line
finally:
    remote_file.close()

Aquí hay una extensión de la respuesta de @Matt Good, usando tela:

from fabric.connection import Connection

with Connection(host, user) as c, c.sftp() as sftp,   
         sftp.open('remote_filename') as file:
    for line in file:
        process(line)

vieja tela 1 respuesta:

from contextlib     import closing
from fabric.network import connect

with closing(connect(user, host, port)) as ssh, 
     closing(ssh.open_sftp()) as sftp, 
     closing(sftp.open('remote_filename')) as file:
    for line in file:
        process(line)

#!/usr/bin/env python
import paramiko
import select
client = paramiko.SSHClient()
client.load_system_host_keys()
client.connect('yourhost.com')
transport = client.get_transport()
channel = transport.open_session()
channel.exec_command("cat /path/to/your/file")
while True:
  rl, wl, xl = select.select([channel],[],[],0.0)
  if len(rl) > 0:
      # Must be stdout
      print channel.recv(1024)

Reseñas y puntuaciones del artículo

Acuérdate de que tienes permiso de comentar si atinaste tu dilema justo a tiempo.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

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