2015-02-05 3 views
1

В настоящее время я вхожу на сервер Unix с моего рабочего стола Windows, предоставляя пароль в ssh.connect. Есть ли способ избежать пароля?Парамическое соединение ssh без пароля

import paramiko 
ssh = paramiko.SSHClient() 
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) 
ssh.connect('ltc02.force.com',username = 'user',password = 'pwd') 
stdin,stdout,stderr = ssh.exec_command("pwd") 

Спасибо за вашу поддержку.

ответ

0

Да, вы можете использовать аутентификацию открытого ключа с использованием закрытого ключа, у которого нет пароля.

Общий процесс создания нового ключа на клиентском компьютере с помощью

SSH-серийник -t RSA

Затем загрузить открытый ключ на сервер, скопируйте вставьте его в :

.ssh/authorized_keys

Каталог .ssh будет находиться в вашем домашнем каталоге пользователя на сервере.

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

Обратите внимание, что это не ответ на Python. Открытый ключ SSH является стандартным процессом, а для ключей используются стандартные ключи RSA (или DSA). Таким образом, вы должны иметь возможность аутентификации с открытым ключом SSH на любом выбранном вами языке.

+0

любые входные данные о том, как создавать и использовать эти ключи? Я попытался установить пакет M2Crypto на своем ПК с Windows, но не смог – user3565150

+0

Я считаю, что для Windows есть инструмент под названием PuTTYgen. И действительно, вы можете экспериментировать с открытием открытых ключей с помощью клиента PuTTY SSH для Windows. В Интернете есть интересные учебники PuTTY (например, этот http://www.ualberta.ca/CNS/RESEARCH/LinuxClusters/pka-putty.html) –

+0

т. Е. Как только вы сможете получить свои SSH-ключи, работающие в PuTTY , то вы можете перейти к получению ключей для работы с Python. –

Смежные вопросы