Я хочу передать SFTP-файл с одного сервера на другой, авторизуясь с помощью закрытого ключа.
Я считаю, что открытый ключ установлен правильно (WinSCP позволяет мне войти в систему с закрытым ключом), и я намеренно не создавал кодовую фразу при генерации пары ключей ... но когда я пытаюсь использовать SFTP в командной строке, я ' m запросил как несуществующую парольную фразу и пароль пользователя.
Как я могу использовать SFTP только с распакованным закрытым ключом?
У меня два сервера:
toServer123
fromServer123
Я хочу передать SFTP-файл с одного сервера на другой, используя логин с закрытым ключом.
Я генерирую пару открытого и закрытого ключей с помощью puttyGen:
Я устанавливаю открытый ключ на toServer123:
Открытый ключ выглядит так:
cat /home/paultest/.ssh/authorized_keys
# =>
ssh-rsa очень длинная строка букв и номеровNoNewlines paultest @ toServer123
Разрешения chmod: authorized_keys (644), .ssh (700)
Я устанавливаю закрытый ключ на fromServer123:
Создаю каталог: / home / support_user / sftp_proc (chmod 700)
Я загружаю my_private_key.ppk (chmod 600) в / sftp_proc
Я создаю файл text.txt в / sftp_proc, который просто содержит "это тест"
как 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:
Шаги отладки:
Если я предоставлю самый полный пароль, SFTP будет работать, но я не хочу использовать пароль, я хочу войти в систему с закрытым ключом
Если я попытаюсь войти в систему с помощью winSCP и предоставить закрытый ключ, я смогу войти только с этим - я не получаю подсказок с парольной фразой или паролем.
Вопрос:
Что я делаю не так, если моя цель - войти в систему без ввода пароля и без запроса несуществующей ключевой фразы?
редактировать
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. Вот как это сделать с помощью утилит для замазки