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 на любом языке по вашему выбору.