Як налаштувати ключі SSH на машині Windows (клієнт SSH) для доступу до Azure Linux VM?


15

Гуглінг був безрезультатним, оскільки більшість людей мають дещо іншу варіацію цієї проблеми.

Я намагаюся налаштувати VM Azure Linux з SSH (без пароля) для доступу з машини Windows. ОНОВЛЕННЯ 2018 року: Первісна вимога полягала в тому, щоб використовувати WinSCP, але я все в порядку з використанням Putty (на машині Windows, яка є клієнтом SSH).

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


1
SSH-ключі - це просто ключі, а не сертифікати. Для виготовлення сертифікатів використовуйте такий інструмент, як xca.
LawrenceC

Відповіді:


16

Спочатку потрібно отримати відкритий ключ у форматі для authorized_keysфайлу OpenSSH .


Як тільки ви отримаєте відкритий ключ у authorized_keysформаті, вставте його у вікно "відкритий ключ SSH" , надаючи апарат Azure Linux (або коли скидаєте відкритий ключ):

введіть тут опис зображення


1
Це не працює. Azure проходить початкові етапи настройки VM, але потім перериває, скаржившись, що ключ не сумісний з 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. Гуглінг вказує, що дистрибутивні OpenSSL для Windows існують, але я не пробував жодного.)
Rohit Chatterjee

1
Також приватний ключ, сформований у моєму коментарі вище - myPrivateKey.key - потрібно імпортувати в PuttyGen та перетворити на PPK. Putty не використовуватиме .key файл.
Rohit Chatterjee

@RohitChatterjee Це було все непорозуміння. ОП запитав про приватний ключ (створюючи враження, що він хоче використовувати його в якості хост-ключа), тоді як питання насправді про відкритий ключ. Я відповідно оновив свою відповідь.
Мартін Прикрил

Насправді це все ще мало, тому що я хотів використовувати WinSCP, а не Putty. Я збираюся ще раз відредагувати питання, щоб зробити цю відповідь правильною.
Алекс R

2

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

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

Пояснення:

Портал Azure запитує PEM / CER як частину процесу надання VM (хоча натомість можна вказати пароль). PuttyGen створює PEM з PPK, коли ця відповідь зменшується, але вихід не приймається порталом. Якщо я це зрозумію, я опублікую відповідь тут ... - Rohit Chatterjee 29 січня о 4:18

Гаразд, я дотримувався вказівок на сайті 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. Гуглінг вказує, що дистрибутивні OpenSSL для Windows існують, але я не пробував жодного.) - Rohit Chatterjee 29 січня о 4:49

Також приватний ключ, сформований у моєму коментарі вище - myPrivateKey.key - потрібно імпортувати в PuttyGen та перетворити на PPK. Putty не використовуватиме .key файл. - Рохіт Чаттерджі 29 січня о 4:51


0

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

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.