Làm cách nào để thiết lập Khóa SSH trên máy Windows (SSH Client) để truy cập Azure Linux VM?


15

Googling không có kết quả, vì hầu hết mọi người có một biến thể hơi khác nhau của vấn đề này.

Tôi đang cố gắng thiết lập máy ảo Azure Linux bằng SSH (không có mật khẩu) để truy cập từ máy Windows. CẬP NHẬT 2018: Yêu cầu ban đầu là sử dụng WinSCP nhưng tôi vẫn ổn khi sử dụng Putty thay thế (trên máy Windows, đó là SSH Client).

Làm cách nào bạn có thể thiết lập máy ảo Azure Linux và tạo các khóa cần thiết bằng cách sử dụng càng ít công cụ bổ sung càng tốt trên Windows?


1
Khóa SSH chỉ là khóa, không phải chứng chỉ. Sử dụng một công cụ như xca để làm chứng chỉ.
LawrenceC

Câu trả lời:


16

Trước tiên, bạn cần lấy khóa công khai ở định dạng cho authorized_keystệp OpenSSH .


Khi bạn nhận được khóa chung ở authorized_keysđịnh dạng, hãy dán nó vào hộp "Khóa chung SSH" , khi cung cấp máy Azure Linux (hoặc khi đặt lại khóa chung):

nhập mô tả hình ảnh ở đây


1
Điều đó không hiệu quả. Azure trải qua các giai đoạn thiết lập VM ban đầu nhưng sau đó hủy bỏ khiếu nại rằng khóa không tuân thủ X.509.
Alex R

1
Ok, tôi đã làm theo hướng dẫn tại azure.microsoft.com/en-us/documentation/articles/iêu và họ đã làm việc. Về cơ bản, bạn chạy "openssl req -x509 -nodes -day 365 -newkey rsa: 2048 -keyout myPrivateKey.key -out myCert.pem". .Pem cần được tải lên thông qua cổng thông tin Azure. (Tôi không đăng bài này dưới dạng câu trả lời vì tôi đã làm nó trên máy Mac của mình và người đăng đã yêu cầu giải pháp Windows. Google cho biết rằng các bản phân phối OpenSSL cho Windows tồn tại, nhưng tôi chưa thử bất kỳ.)
Rohit Chatterjee

1
Ngoài ra, khóa riêng được tạo trong nhận xét của tôi ở trên - myPrivateKey.key - cần được nhập vào PuttyGen và được chuyển đổi thành PPK. Putty sẽ không sử dụng tệp .key.
Rohit Chatterjee

@RohitChatterjee Đó là tất cả sự hiểu lầm. OP đã hỏi về khóa riêng (tạo ấn tượng anh ấy muốn sử dụng nó làm khóa máy chủ), trong khi câu hỏi thực sự là về khóa chung. Tôi đã cập nhật câu trả lời của mình cho phù hợp.
Martin Prikryl

Trên thực tế, điều này vẫn còn một chút vì tôi muốn sử dụng WinSCP chứ không phải Putty. Tôi sẽ chỉnh sửa câu hỏi một lần nữa để trả lời đúng.
Alex R

2

Câu trả lời đúng được cung cấp trong các bình luận của @Rohit Chatterjee:

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

Giải trình:

Cổng thông tin Azure yêu cầu PEM / CER như một phần của quy trình cung cấp VM (mặc dù người ta có thể cung cấp mật khẩu thay thế). PuttyGen tạo PEM từ PPK khi câu trả lời này giải mã, nhưng đầu ra không được cổng thông tin chấp nhận. Nếu tôi tìm ra điều này, tôi sẽ đăng câu trả lời ở đây ... - Rohit Chatterjee ngày 29 tháng 1 lúc 4:18 1 đã bỏ phiếu

Ok, tôi đã làm theo hướng dẫn tại azure.microsoft.com/en-us/documentation/articles/iêu và họ đã làm việc. Về cơ bản, bạn chạy "openssl req -x509 -nodes -day 365 -newkey rsa: 2048 -keyout myPrivateKey.key -out myCert.pem". .Pem cần được tải lên thông qua cổng thông tin Azure. (Tôi không đăng bài này dưới dạng câu trả lời vì tôi đã làm nó trên máy Mac của mình và người đăng đã yêu cầu giải pháp Windows. Google cho biết rằng các bản phân phối OpenSSL cho Windows tồn tại, nhưng tôi chưa thử bất kỳ.) - Rohit Chatterjee ngày 29 tháng 1 lúc 4:49

Ngoài ra, khóa riêng được tạo trong nhận xét của tôi ở trên - myPrivateKey.key - cần được nhập vào PuttyGen và được chuyển đổi thành PPK. Putty sẽ không sử dụng tệp .key. - Rohit Chatterjee ngày 29 tháng 1 lúc 4:51


0

Tôi thấy đây là một câu hỏi cũ hơn, nhưng nếu bạn đang sử dụng Windows 10, giờ đây bạn có thể SSH từ Hệ thống con Windows cho Linux. Đối với điều đó, chỉ cần thiết lập các khóa như bạn sẽ làm trong Linux thông thường.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.