Paramiko

↓ По теме ↓
Introduction
Пример подключения
Errors
Объекты

Introduction

Paramiko-это Python (2.7, 3.4+) реализация протокола SSHv2, обеспечивающая как клиентскую, так и серверную функциональность.

В то время как он использует расширение Python C для низкоуровневой криптографии (Cryptography), Paramiko сама по себе является чистым интерфейсом Python вокруг сетевых концепций SSH.

Документация для библиотеки Paramiko: docs.paramiko.org

Пример

Простейший пример подключения к 192.168.56.2 с пользователем andrey и паролем olegovich

#!/usr/bin/env python import time import paramiko client = paramiko.SSHClient() client.set_missing_host_key_policy(paramiko.AutoAddPolicy()) client.connect( '192.168.56.2', username='andrey', password='olegovich' ) command = 'ls' (stdin, stdout, stderr) = client.exec_command(command) time.sleep(1.0) for line in stdout.readlines(): print(line, end = '') client.close()

Обратите внимание на

client.set_missing_host_key_policy(paramiko.AutoAddPolicy())

Это означает, что наличие ключей хоста, к которому идёт подключение, в файле known_hosts не будет проверяться.

Это небезопасно и может использоваться только при подключении к хосту, которому вы полностью доверяете.

Подробности можете изучить в статье SSH

time.sleep(1.0)

Это прямолинейный способ избежать ошибки AttributeError: 'NoneType' object has no attribute 'time'

Объекты

Разберемся что есть что

client = paramiko.SSHClient() print(type(client))

<class 'paramiko.client.SSHClient'>

(stdin, stdout, stderr) = client.exec_command(command) print(type(stdin)) print(type(stdout)) print(type(stderr))

<class 'paramiko.channel.ChannelStdinFile'> <class 'paramiko.channel.ChannelFile'> <class 'paramiko.channel.ChannelStderrFile'>

Contacts and cooperation:
I recommend our hosting beget.ru
Write to info@urn.su, info@aredel.com if you:
1. Want to write an article for our site or translate an article into your native language.
2. Want to place thematically relevant ads on the site.
3. Ads on my site pass maximum censorship. If you see an ad block unsuitable for school-age children, shocking or misleading - please contact us by e-mail
4. Found a mistake, inaccuracy, bug, etc. on the site. ... .......
5. Articles can be shared on social media by clicking a network icon: