Randomart được sản xuất bởi ssh-keygen là gì?


352

Khi bạn tạo khóa, bạn sẽ nhận được "ngẫu nhiên" từ các phiên bản mới hơn của OpenSSH. Tôi không thể tìm thấy lời giải thích tại sao, và tôi nên sử dụng nó để làm gì.

Generating public/private rsa key pair.
The key fingerprint is:
05:1e:1e:c1:ac:b9:d1:1c:6a:60:ce:0f:77:6c:78:47 you@i
The key's randomart image is:
+--[ RSA 2048]----+
|       o=.       |
|    o  o++E      |
|   + . Ooo.      |
|    + O B..      |
|     = *S.       |
|      o          |
|                 |
|                 |
|                 |
+-----------------+

Generating public/private dsa key pair.
The key fingerprint is:
b6:dd:b7:1f:bc:25:31:d3:12:f4:92:1c:0b:93:5f:4b you@i
The key's randomart image is:
+--[ DSA 1024]----+
|            o.o  |
|            .= E.|
|             .B.o|
|              .= |
|        S     = .|
|       . o .  .= |
|        . . . oo.|
|             . o+|
|              .o.|
+-----------------+

5
Một câu hỏi khác tôi muốn hỏi là; chia sẻ hình ảnh ngẫu nhiên của bạn với người khác có an toàn không? Nói cách khác, được đưa ra một hình ảnh ngẫu nhiên như trên, liệu có thể đảo ngược kỹ thuật này trở lại khóa?
AndyJ0076

Câu trả lời:


259

Randomart có nghĩa là một cách dễ dàng hơn cho con người để xác nhận các khóa.

Xác nhận thường được thực hiện bằng cách so sánh các chuỗi vô nghĩa (nghĩa là biểu diễn thập lục phân của dấu vân tay chính), mà con người khá chậm và không chính xác khi so sánh. Randomart thay thế điều này bằng các hình ảnh có cấu trúc nhanh hơn và dễ so sánh hơn.

Bài viết này "Trực quan hóa Hash: Một kỹ thuật mới để cải thiện an ninh thế giới thực", Perrig A. và Song D., 1999, Hội thảo quốc tế về kỹ thuật mã hóa và thương mại điện tử (CrypTEC '99) " giải thích một số kỹ thuật và lợi thế.


66
Nếu bạn chỉ có thể giải thích lý do tại sao con người xác thực các khóa, điều đó có thể giúp ích, bởi vì thật lòng mà nói, tôi có xu hướng chỉ đưa khóa công khai của mình vào tệp ủy quyền của tôi và được thực hiện với nó.
dlamblin

43
@dlamblin: Nói chung, bạn sẽ không xác minh khóa riêng của mình bằng cách này. Tuy nhiên, nó sẽ hữu ích cho việc xác minh khóa máy chủ của một máy từ xa. Một ý tưởng là nếu bạn đăng nhập vào một máy cụ thể từ nhiều địa điểm khác nhau (hoặc bạn không lưu khóa của nó vào tệp know_hosts của mình), bạn sẽ có thể nhận ra các tác phẩm nghệ thuật của khóa máy chủ. Nếu nghệ thuật đó đột ngột thay đổi, bạn nên cảnh giác khi nhập mật khẩu của mình vì điều đó có thể có nghĩa là một cuộc tấn công giữa chừng đang diễn ra trên kết nối của bạn (hoặc có thể có nghĩa là máy chủ đã thay đổi khóa của nó cho một số khác lý do).
Chris Johnsen

29
Uhm, Khi nào tôi có thể xem nghệ thuật chủ nhà? (Tôi nghĩ rằng tôi chưa bao giờ làm.) Tôi chỉ thấy một hình ảnh như vậy sau khi tạo cặp khóa của mình. Và với những gì tôi sẽ phải so sánh nó để nhận ra sự thay đổi 'đột ngột'.
DerMike

12
Tôi muốn đặt ngẫu nhiên tuân thủ một nguyên tắc tương tự như băm để kiểm tra tính toàn vẹn, cụ thể là: một sự khác biệt nhỏ trong đầu vào tạo ra một đầu ra cực kỳ khác biệt. Điều đó có nghĩa là bạn sẽ chỉ cần ghi nhớ hình dạng thô của ngẫu nhiên dự kiến ​​để có thể nhận thấy một cái gì đó là không ổn. Tất nhiên, điều này không hoạt động trong thực tế khi SSH et al không cho bạn thấy ngẫu nhiên của máy chủ bạn đang kết nối (họ nên làm như vậy ngay cả khi máy chủ được biết).
Alan Plum

2
Tôi tưởng tượng những thứ này hữu ích nhất khi các khóa công khai đang được trao đổi trực tiếp để kiểm tra tính toàn vẹn sau khi bản sao hoàn tất.
jordanpg

198

Thêm vào

-o VisualHostKey=yes 

vào dòng lệnh của bạn, hoặc đặt

VisualHostKey=yes 

trong của bạn ~/.ssh/config.

Bạn sẽ thấy ngẫu nhiên của hộp bạn đang đăng nhập. Nếu bạn đăng nhập vào một ngày và nghệ thuật ngẫu nhiên thì khác (bộ não của bạn sẽ hoạt động Hey! Tôi không nhận ra điều đó!), Thì có lẽ ai đó đang hack, hoặc một cái gì đó.

Ý tưởng là bạn không cần phải làm điều đó. Một trong những chìa khóa cho một trong những chiếc máy của chúng tôi trông giống như một con bướm. Một loại khác trông giống như một tinh ranh (vâng, bộ não của chúng ta là nguyên thủy). Nếu bạn đăng nhập mỗi ngày, bạn sẽ quen với hình ảnh mà không cần cố gắng.


9
Không tốt. Nếu bạn đã đăng nhập trước đó, tốt hơn nhiều là máy tính sẽ nhận dạng cho bạn bằng cách sử dụng dấu vân tay được lưu trữ. Tính năng này chỉ có nghĩa là được sử dụng để đăng nhập vào máy mới.
Nicholas Wilson

57
Đến cuối câu trả lời này, nhưng đáng để chỉ ra rằng điều này sẽ vô cùng hữu ích nếu bạn đăng nhập từ một máy khác không có tất cả các máy chủ đã biết của bạn. Trong trường hợp đó, máy tính sẽ không thể xác minh rằng nó đã được biết, nhưng người dùng sẽ có thể thấy "Điều đó trông khác so với bình thường!" và hủy bỏ.
Xkeeper

9
Để máy tính của bạn thực hiện nhận dạng là dễ bị tấn công bởi các máy chủ đã biết của máy tính của bạn bị hack. Giống như bạn không nên để máy tính nhập mật khẩu cho mình, bạn nên tự mình xác nhận khóa của máy chủ.
Marko Topolnik

37

Thông báo chính thức: OpenSSH 5.1 được phát hành

Giới thiệu thử nghiệm trực quan hóa vân tay SSH ASCII cho ssh (1) và ssh-keygen (1). Hiển thị hình ảnh ngón tay trực quan được điều khiển bởi tùy chọn ssh_config (5) mới "VisualhostKey". Mục đích là để hiển thị các khóa máy chủ SSH ở dạng trực quan có thể điều chỉnh để dễ dàng gọi lại và từ chối các khóa máy chủ đã thay đổi. Kỹ thuật này lấy cảm hứng từ các sơ đồ trực quan băm đồ họa được gọi là "nghệ thuật ngẫu nhiên [*]", và bởi những suy nghĩ của Dan Kaminsky tại 23C3 ở Berlin.

Trực quan hóa dấu vân tay hiện đang bị tắt theo mặc định, vì thuật toán được sử dụng để tạo nghệ thuật ngẫu nhiên vẫn có thể thay đổi.


8
Đó là câu cuối cùng, thực sự, đáng để biết. OpenBSD Tạp chí @ Undeadly.org thông tin về trạng thái phát hành OpenSSH 6.8 , "Xin lưu ý rằng các khóa máy chủ trực quan cũng sẽ khác." Phần mềm mới hơn hiển thị hình ảnh khác với hình ảnh được hiển thị bởi phần mềm cũ hơn.
TUYỆT VỜI


11

Randomart được hiển thị sau thế hệ ssh-keygen là biểu diễn đồ họa của khóa bạn vừa tạo. Sau đó:

  • Randomart không thực sự hữu ích cho người dùng đã tạo khóa ssh

  • Randomart có thể rất hữu ích cho người dùng sử dụng kết nối qua SSH để kết nối thường xuyên với cùng một máy chủ : nếu anh ta thêm tùy chọn "-o VisualhostKey = yes" vào lệnh SSH của mình:

    ssh user@domainname.com -o VisualhostKey = có

Randomart tương ứng với khóa chung của máy chủ sẽ được hiển thị.

Để xem một ví dụ, bạn có thể thử:

ssh git@github.com -o VisualhostKey = có

Trong trường hợp người dùng thường kết nối với cùng một máy chủ, thì anh ta có thể nhanh chóng và dễ dàng kiểm tra xem anh ta có nhận ra Randomart tương ứng với khóa chung của máy chủ này hay không. Việc này dễ dàng và nhanh hơn việc kiểm tra chuỗi ký tự của khóa công khai!

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.