Соединение SSH с Python 3.0

Как я могу создать SSH-соединение в Python 3.0? Я хочу сохранить файл на удаленном компьютере, где у меня установлен SSH без пароля.

  • Таймаут в парамико (питон)
  • Как открыть папку удаленного сервера с помощью python?
  • Внедрить интерактивную оболочку поверх ssh в Python с помощью Paramiko?
  • Проверьте, существует ли путь на удаленном хосте, используя paramiko
  • Автоматизация подключения ssh и выполнение программы с помощью Python's Paramiko
  • Параллельный SSH в Python
  • SSH для обработки через средний хост
  • Загружайте файлы с помощью SFTP в Python, но создавайте каталоги, если путь не существует
  • 6 Solutions collect form web for “Соединение SSH с Python 3.0”

    Я рекомендую вызывать ssh как подпроцесс. Он надежный и портативный.

    import subprocess proc = subprocess.Popen(['ssh', 'user@host', 'cat > %s' % filename], stdin=subprocess.PIPE) proc.communicate(file_contents) if proc.retcode != 0: ... 

    Вам придется беспокоиться о цитировании имени файла назначения. Если вы хотите больше гибкости, вы даже можете это сделать:

     import subprocess import tarfile import io tardata = io.BytesIO() tar = tarfile.open(mode='w:gz', fileobj=tardata) ... put stuff in tar ... proc = subprocess.Popen(['ssh', 'user@host', 'tar xz'], stdin=subprocess.PIPE) proc.communicate(tardata.getvalue()) if proc.retcode != 0: ... 

    Вы хотите, чтобы все ssh-функции реализованы как библиотека python? Посмотрите на paramiko, хотя я думаю, что он не портирован на Python 3.0 (еще?).

    Если вы можете использовать существующую установку ssh, вы можете использовать описанный ниже метод subprocess , или (по-другому) вы также можете использовать pexcept ( сайт здесь ).

    Первый:

    Два шага для входа через ssh без пароля

    в вашем терминале

     [macm@macm ~]$ ssh-keygen [macm@macm ~]$ ssh-copy-id -i $HOME/.ssh/id_rsa.pub root@192.168.1.XX <== change 

    Теперь с python

     from subprocess import PIPE, Popen cmd = 'uname -a' stream = Popen(['ssh', 'root@192.168.1.XX', cmd], stdin=PIPE, stdout=PIPE) rsp = stream.stdout.read().decode('utf-8') print(rsp) 

    Это может занять небольшую работу, потому что у « twisted: conch » нет версии 3.0.

    Я написал Python-привязки для libssh2 , которые работают на Python 2.4, 2.5, 2.6, 2.7 и 3 .

    libssh2 отлично подходит для Python 3.x.
    См. Статью «Переполнение стека». Как отправить файл с помощью scp с помощью python 3.2?

    Interesting Posts
    Python - лучший язык программирования в мире.