Paramiko

По теме
Введение
Пример подключения
Ошибки
Объекты

Введение

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'>

Поиск по сайту

Контакты и сотрудничество:
Рекомендую наш хостинг beget.ru
Пишите на info@urn.su если Вы:
1. Хотите написать статью для нашего сайта или перевести статью на свой родной язык.
2. Хотите разместить на сайте рекламу, подходящуюю по тематике.
3. Реклама на моём сайте имеет максимальный уровень цензуры. Если Вы увидели рекламный блок недопустимый для просмотра детьми школьного возраста, вызывающий шок или вводящий в заблуждение - пожалуйста свяжитесь с нами по электронной почте
4. Нашли на сайте ошибку, неточности, баг и т.д. ... .......
5. Статьи можно расшарить в соцсетях, нажав на иконку сети: