Paramiko SSH соединение без пароля

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

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")

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

1 ответ

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

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

ssh-keygen -t rsa

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

.ssh / authorized_keys

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

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

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

Другие вопросы по тегам