Bagaimana cara mengatur Kunci SSH pada mesin Windows (SSH Client) untuk mengakses Azure Linux VM?

15

Googling tidak membuahkan hasil, karena kebanyakan orang memiliki variasi yang sedikit berbeda dari masalah ini.

Saya mencoba mengatur Azure Linux VM dengan SSH (tanpa kata sandi), untuk akses dari mesin Windows. PEMBARUAN 2018: Persyaratan asli adalah untuk menggunakan WinSCP tapi saya setuju menggunakan Putty sebagai gantinya (pada mesin Windows, yang merupakan SSH Client).

Bagaimana Anda bisa mengatur Azure Linux VM dan menghasilkan kunci yang diperlukan menggunakan sesedikit mungkin alat tambahan, di Windows?

Alex R
sumber
1
Kunci SSH hanyalah kunci, bukan sertifikat. Gunakan alat seperti xca untuk membuat sertifikat.
LawrenceC

Jawaban:

16

Pertama, Anda perlu mendapatkan kunci publik dalam format untuk authorized_keysfile OpenSSH .


Setelah Anda mendapatkan kunci publik dalam authorized_keysformat, tempelkan ke kotak "SSH kunci publik" , saat menyediakan mesin Azure Linux (atau saat mengatur ulang kunci publik):

masukkan deskripsi gambar di sini

Martin Prikryl
sumber
1
Itu tidak berhasil. Azure melewati tahap awal pengaturan VM tetapi kemudian membatalkan mengeluh bahwa kunci tersebut tidak sesuai dengan X.509.
Alex R
1
Ok, saya mengikuti instruksi di azure.microsoft.com/en-us/documentation/articles/… dan mereka berhasil. Pada dasarnya Anda menjalankan "openssl req -x509 -nodes -days 365 -newkey rsa: 2048 -kunci myPrivateKey.key -out myCert.pem". .Pem perlu diunggah melalui portal Azure. (Saya tidak memposting ini sebagai jawaban karena saya melakukannya di Mac saya, dan poster itu meminta solusi Windows. Googling menunjukkan bahwa distribusi OpenSSL untuk Windows ada, tetapi saya belum mencobanya.)
Rohit Chatterjee
1
Juga, kunci pribadi yang dihasilkan dalam komentar saya di atas - myPrivateKey.key - perlu diimpor ke PuttyGen dan dikonversi menjadi PPK. Putty tidak akan menggunakan file .key
Rohit Chatterjee
@RohitChatterjee Itu semua salah paham. OP bertanya tentang kunci privat (memberi kesan dia ingin menggunakannya sebagai kunci host), sementara pertanyaannya sebenarnya tentang kunci publik. Saya telah memperbarui jawaban saya sesuai dengan itu.
Martin Prikryl
Sebenarnya ini masih sedikit karena saya ingin menggunakan WinSCP, bukan Putty. Saya akan mengedit pertanyaan sekali lagi untuk membuat jawaban ini benar.
Alex R
2

Jawaban yang benar diberikan dalam komentar oleh @Rohit Chatterjee:

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

Penjelasan:

Portal Azure meminta PEM / CER sebagai bagian dari proses penyediaan VM (meskipun orang dapat memberikan kata sandi sebagai gantinya). PuttyGen membuat PEM dari PPK saat jawaban ini diuraikan, tetapi hasilnya tidak diterima oleh portal. Jika saya mengetahui hal ini, saya akan mengirimkan jawaban di sini ... - Rohit Chatterjee 29 Jan pukul 4:18 1 terpilih

Ok, saya mengikuti instruksi di azure.microsoft.com/en-us/documentation/articles/… dan mereka berhasil. Pada dasarnya Anda menjalankan "openssl req -x509 -nodes -days 365 -newkey rsa: 2048 -kunci myPrivateKey.key -out myCert.pem". .Pem perlu diunggah melalui portal Azure. (Saya tidak memposting ini sebagai jawaban karena saya melakukannya di Mac saya, dan poster itu meminta solusi Windows. Googling menunjukkan bahwa distribusi OpenSSL untuk Windows ada, tetapi saya belum mencobanya.) - Rohit Chatterjee 29 Jan jam 4:49

Juga, kunci pribadi yang dihasilkan dalam komentar saya di atas - myPrivateKey.key - perlu diimpor ke PuttyGen dan dikonversi menjadi PPK. Putty tidak akan menggunakan file .key - Rohit Chatterjee 29 Jan pukul 4:51

Alex R
sumber
0

Saya melihat ini adalah pertanyaan yang lebih lama, tetapi jika Anda menggunakan Windows 10, sekarang mungkin untuk SSH dari Subsistem Windows untuk Linux. Untuk itu, cukup atur kunci seperti yang akan Anda lakukan di Linux biasa.

Charles Burge
sumber