Что может привести к тому, что моя парольная фраза SSH не работает на моей виртуальной машине AWS, но нормально работает на моем ноутбуке Mac для точно такой же пары ключей? См. ниже (для ясности добавлены пустые строки). Парольная фраза была скопирована/вставлена, поэтому она идентична, без опечаток.

320 ~/.ssh$ uname -a
Darwin mbp.local 19.6.0 Darwin Kernel Version 19.6.0: Thu May  6 00:48:39 PDT 2021; root:xnu-6153.141.33~1/RELEASE_X86_64 x86_64

321 ~/.ssh$ ssh-keygen -y -f md.id_rsa
Enter passphrase:
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDHR9AEY2NOLQBVM5uUAMsKMm2XUXnUoiESGvLTJ7tte86JUI8ZZVDmGxrlP
   [snip]

322 ~/.ssh$ scp md.id_rsa md.id_rsa.pub AWS:.ssh
md.id_rsa                                     100% 2655    44.0KB/s   00:00
md.id_rsa.pub                                 100%  570     9.0KB/s   00:00

323 ~/.ssh$ ssh AWS
Last login: Fri Jul 30 11:56:36 2021 from 10.50.30.167
421 AWS:~$ cd .ssh
422 AWS:~/.ssh$ uname -a
Linux AWS.xyz.com 2.6.32-754.35.1.el6.x86_64 #1 SMP Sat Nov 7 12:42:14 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
423 AWS:~/.ssh$ ssh-keygen -y -f md.id_rsa
Enter passphrase:
load failed

Отредактировано для добавления на основе комментариев о версиях: macOS OpenSSH_8.1p1, LibreSSL 2.7.3 Линукс OpenSSH_5.3p1, OpenSSL 1.0.1e-fips 11 Feb 2013

Вероятно, это проблема, как описано @telcoM в их комментарии.

Итак, вопрос в том, как это решить? Думаю, я могу создать новую пару ключей на стороне Linux.

0
CXJ 31 Июл 2021 в 00:52
1
Какие версии ssh-keygen в обеих системах? Посмотрите, нет ли там несовместимости.
 – 
Tim Kennedy
30 Июл 2021 в 23:34
Я не вижу никакого простого способа сказать. На справочных страницах (если им можно верить, macOS ужасно поддерживает их в актуальном состоянии) утверждается, что обе версии — OpenSSH 1.2.12. Я использовал ssh-keygen только как простой способ проверить правильность моей фразы-пароля. Настоящей проблемой была невозможность использовать Git на хосте AWS, так как ему не удалось получить ключ SSH.
 – 
CXJ
30 Июл 2021 в 23:43
Похоже, что по поводу этой статьи о кросс-постинге идет много споров. Также кажется, что темы для Superuser и Unix и Linux во многом совпадают. Я с радостью удалю один, если кто-то сможет четко определить, в каком из двух следует задать вопрос.
 – 
CXJ
31 Июл 2021 в 00:21
2
ssh-keygen обычно входит в состав пакета OpenSSH, а ssh -V сообщит вам версию клиента SSH и, следовательно, всего пакета OpenSSH. Хотя, поскольку AWS имеет .el6 в номере версии своего ядра, это указывает на то, что он, вероятно, работает под управлением RHEL/OEL/CentOS 6.x, который является довольно старым дистрибутивом. Я бы поставил доллары на пончики, что OpenSSH в MacOS значительно новее и поддерживает некоторые алгоритмы шифрования/хеширования, и это вызывает проблемы на стороне AWS. Страница руководства содержит «OpenSSH является производным от оригинального и бесплатного ssh 1.2.12 ...», что можно ошибочно принять за версию.
 – 
telcoM
31 Июл 2021 в 00:41
Я думаю ты прав.
 – 
CXJ
31 Июл 2021 в 00:50

1 ответ

Лучший ответ

Комментарий @telcoM выше был правильным ответом, повторенным здесь для ясности:

ssh-keygen обычно входит в состав пакета OpenSSH, а ssh -V сообщит вам версию клиента SSH и, следовательно, всего пакета OpenSSH. Хотя, поскольку AWS имеет .el6 в номере версии своего ядра, это указывает на то, что он, вероятно, работает под управлением RHEL/OEL/CentOS 6.x, который является довольно старым дистрибутивом. Я бы поставил доллары на пончики, что OpenSSH в MacOS значительно новее и поддерживает некоторые алгоритмы шифрования/хеширования, и это вызывает проблемы на стороне AWS. Страница руководства содержит «OpenSSH является производным от оригинального и бесплатного ssh 1.2.12 ...», что можно ошибочно принять за версию. — телеком

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

0
CXJ 11 Авг 2021 в 04:55