Как настроить ключи SSH на компьютере Windows (клиент SSH) для доступа к виртуальной машине Azure Linux?

15

Поиск в Google был бесплодным, так как у большинства людей эта проблема немного отличается.

Я пытаюсь настроить виртуальную машину Azure Linux с SSH (без пароля) для доступа с компьютера с Windows. ОБНОВЛЕНИЕ 2018: Первоначально требовалось использовать WinSCP, но я согласен с использованием Putty (на компьютере Windows, который является SSH-клиентом).

Как настроить виртуальную машину Azure Linux и сгенерировать необходимые ключи, используя как можно меньше дополнительных инструментов в Windows?

Alex R
источник
1
Ключи SSH - это просто ключи, а не сертификаты. Используйте такой инструмент, как xca, для создания сертификатов.
LawrenceC

Ответы:

16

Для начала вам нужно получить открытый ключ в формате для OpenSSH authorized_keys файл.


Как только вы получите открытый ключ в authorized_keys формат, вставьте его в «Открытый ключ SSH» поле при подготовке компьютера Azure Linux (или при сбросе открытого ключа)

enter image description here

Martin Prikryl
источник
1
Это не работает Azure проходит начальные этапы настройки виртуальной машины, но затем прерывает работу, жалуясь на то, что ключ не соответствует X.509.
Alex R
1
Хорошо, я следовал инструкциям на azure.microsoft.com/en-us/documentation/articles/... и они работали. Обычно вы запускаете "openssl req -x509 -nodes -days 365 -newkey rsa: 2048 -keyout myPrivateKey.key -out myCert.pem". Файл .pem должен быть загружен через портал Azure. (Я не публикую это как ответ, потому что я сделал это на своем Mac, и автор постера попросил решение для Windows. Поиск в Google указывает, что дистрибутивы OpenSSL для Windows существуют, но я их не пробовал.)
Rohit Chatterjee
1
Кроме того, закрытый ключ, созданный в моем комментарии выше - myPrivateKey.key - необходимо импортировать в PuttyGen и преобразовать в PPK. Putty не будет использовать файл .key.
Rohit Chatterjee
@RohitChatterjee Это было недоразумение. ОП спросил о закрытом ключе (создавая впечатление, что он хочет использовать его в качестве ключа хоста), в то время как вопрос на самом деле касался открытого ключа. Я обновил свой ответ соответственно.
Martin Prikryl
На самом деле это все еще немного, так как я хотел использовать WinSCP, а не Putty. Я собираюсь отредактировать вопрос еще раз, чтобы этот ответ был правильным.
Alex R
2

Правильный ответ был предоставлен в комментариях @Rohit Chatterjee:

openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout myPrivateKey.key -out myCert.pem

Объяснение:

Портал Azure запрашивает PEM / CER как часть подготовки виртуальной машины   процесс (хотя можно указать пароль). PuttyGen создает   PEM из PPK, поскольку этот ответ описывает, но выход не   принят порталом. Если я это выясню, я отправлю ответ   здесь ... - Рохит Чаттерджи 29 января в 4:18 1 проголосовал

Хорошо, я следовал инструкциям на   azure.microsoft.com/en-us/documentation/articles/… и они работали.   Обычно вы запускаете "openssl req -x509 -nodes -days 365 -newkey rsa: 2048   -keyout myPrivateKey.key -out myCert.pem ". Файл .pem необходимо загрузить через портал Azure. (Я не публикую это как ответ   потому что я сделал это на моем Mac, и плакат попросил Windows   решение. Поиск в Google указывает, что дистрибутивы OpenSSL для Windows   существует, но я не пробовал.) - Рохит Чаттерджи 29 января в 4:49

Кроме того, закрытый ключ, сгенерированный в моем комментарии выше - myPrivateKey.key   - необходимо импортировать в PuttyGen и конвертировать в PPK. Putty не будет использовать файл .key. - Рохит Чаттерджи 29 января в 4:51

Alex R
источник
0

Я вижу, что это старый вопрос, но если вы используете Windows 10, теперь возможно SSH из подсистемы Windows для Linux. Для этого просто установите ключи, как в обычном Linux.

Charles Burge
источник