Назад | Перейти на главную страницу

SFTP запрашивает парольную фразу для незашифрованного закрытого ключа, но WinSCP работает нормально?

Резюме:

Я хочу передать SFTP-файл с одного сервера на другой, авторизуясь с помощью закрытого ключа.

Я считаю, что открытый ключ установлен правильно (WinSCP позволяет мне войти в систему с закрытым ключом), и я намеренно не создавал кодовую фразу при генерации пары ключей ... но когда я пытаюсь использовать SFTP в командной строке, я ' m запросил как несуществующую парольную фразу и пароль пользователя.

Как я могу использовать SFTP только с распакованным закрытым ключом?

Подробности:

У меня два сервера:

Я хочу передать SFTP-файл с одного сервера на другой, используя логин с закрытым ключом.

  1. Я генерирую пару открытого и закрытого ключей с помощью puttyGen:

    • после предоставления подсказанного случайного движения я сохраняю открытый и закрытый ключ
    • Я оставляю поле парольной фразы пустым и выбираю «да» при появлении запроса о незашифрованном закрытом ключе.
  2. Я устанавливаю открытый ключ на toServer123:

    • Я создаю пользователя paultest с паролем password123
    • Я проверяю, могу ли я подключиться к toServer123 по ssh как пользователь paultest
    • Создаю /home/paultest/.ssh/authorized_keys и добавляю публичный ключ
    • Открытый ключ выглядит так:

      cat /home/paultest/.ssh/authorized_keys # =>

      ssh-rsa очень длинная строка букв и номеровNoNewlines paultest @ toServer123

    • Разрешения chmod: authorized_keys (644), .ssh (700)

  3. Я устанавливаю закрытый ключ на fromServer123:

    • Создаю каталог: / home / support_user / sftp_proc (chmod 700)

    • Я загружаю my_private_key.ppk (chmod 600) в / sftp_proc

    • Я создаю файл text.txt в / sftp_proc, который просто содержит "это тест"

  4. как support_user, я пробую SFTP на toServer123 с fromServer123:

    sftp -oIdentityFile=./my_private_key.ppk paultest@toServer123
    

Что я ожидаю:

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

Что я получаю:

Connecting to toServer123...

Unauthorized access to or use of this system is prohibited.
All access and use may be monitored and recorded.

Enter passphrase for key './my_private_key.ppk':

Я просто нажимаю ввод и получаю:

paultest@toServer123's password:

Шаги отладки:

Вопрос:

Что я делаю не так, если моя цель - войти в систему без ввода пароля и без запроса несуществующей ключевой фразы?

редактировать

my_private_key.ppk выглядит так:

PuTTY-User-Key-File-2: ssh-rsa
Encryption: none
Comment: rsa-key-20190528
Public-Lines: 6
LOTSOFLETTERSabcSYMBOLS//++ANDNUMBERS123==
Private-Lines: 14
EVENEVENMORELOTSOFLETTERSabcSYMBOLS//++ANDNUMBERS123==
Private-MAC: cf6c5c786f51a623b28eabe226c98dd6faa09787

Насколько мне известно sftp ожидайте другого формата ключа. Ключи OpenSSH должны выглядеть так:

-----BEGIN RSA PRIVATE KEY-----
MIIEowIBAAKCAQEAyGhJBM7lcIZgvTbLG4S2N1oHAIszqAKKysCQY17Fp0dHvL+A
8mVCYwKL0otQfS2FHmmeRfrpLQtaK7R/DFnxfXn8xczpY8Cn6sv+GUjztN0gacOK
Yyiymnfr4mKgSaRIaJDmi3ua8mlddvwtUJFkAt7WrVAgx0z4MkW5jR+riKnT69D+
<snip> 
YFbX0QKBgFTXQ+h79DR4ZwW/f5pop9v8H7GD+g/xRKadgFp4GTKA7RJx64XN/ok+
12+u6pApA8w+ah2K2yoaBIV1d3MatYfUwSJ+0esXTYczBeSXOg6YqrMqjZ4KH2wO
kOyu2/4Dq7VcuK4PSnF1wbd+ZPHffh+YOJIII4iU7fYoRMDHa3tW
-----END RSA PRIVATE KEY-----

Поэтому вам следует преобразовать свой ключ ppk в ключ RSA. Вот как это сделать с помощью утилит для замазки