Возможно, вы захотите использовать предварительно сгенерированные ключи аутентификации. Если вы знакомы с процессом использования инструмента ssh-keygen
для создания пар ключей S SH, это то же самое. Вы просто генерируете пару ключей, помещаете закрытый ключ на клиентский компьютер и помещаете ключ publi c на целевом сервере. Затем вы можете использовать pysftp
следующим образом:
with pysftp.Connection('hostname', username='me', private_key='/path/to/keyfile') as sftp:
<do some stuff>
, аутентификация обрабатывается с использованием пары ключей, и пароль не требуется. Это не означает, что ваша проблема безопасности решена: закрытый ключ по-прежнему является конфиденциальным удостоверением, которое необходимо рассматривать как пароль. Преимущество заключается в том, что у вас нет ни одного открытого текста в каком-либо файле, и вы используете хорошо установленный и безопасный процесс для управления аутентификацией. Закрытый ключ устанавливается с разрешением 0600
, чтобы никто, кроме владельца, не мог получить к нему доступ.