ssh-keygen이 생산 한 randomart는 무엇입니까?


352

키를 생성하면 최신 버전의 OpenSSH에서 "randomart"를 얻게됩니다. 이유와 그 용도에 대한 설명을 찾을 수 없습니다.

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
내가 묻고 싶은 또 다른 질문은; 랜덤 아트 이미지를 다른 사람과 공유하는 것이 안전합니까? 다시 말하면, 위와 같은 랜덤 아트 이미지가 주어지면 이것을 다시 키로 리버스 엔지니어링 할 수 있습니까?
AndyJ0076

답변:


259

랜덤 아트는 인간이 키를보다 쉽게 ​​검증 할 수있는 방법입니다.

유효성 검사는 일반적으로 의미없는 문자열 (키 지문의 16 진수 표현)을 비교하여 수행됩니다.이 문자열은 사람이 비교할 때 속도가 느리고 부정확합니다. Randomart는 이것을 빠르고 비교하기 쉬운 구조화 된 이미지로 대체합니다.

이 백서 "해시 시각화 : 실제 보안을 향상시키는 새로운 기술", Perrig A. and Song D., 1999, 암호 기술 및 전자 상거래에 관한 국제 워크샵 (CrypTEC '99) "에 몇 가지 기술과 장점이 설명되어 있습니다.


66
인간이 키의 유효성을 검사하는 이유를 설명 할 수 있다면 솔직히 공개 키를 authorized_keys 파일에 넣고 처리하는 경향이 있기 때문에 도움이 될 수 있습니다.
dlamblin

43
@ dlamblin : 일반적으로 이것으로 자신의 키를 확인하지는 않습니다. 그러나 원격 시스템의 호스트 키를 확인하는 데 유용합니다. 한 가지 아이디어는 다양한 위치에서 특정 시스템에 로그인하거나 해당 키를 known_hosts 파일에 저장하지 않으면 호스트 키의 "예술"을 인식 할 수 있다는 것입니다. 해당 기술이 갑자기 변경된 경우 연결시 중간자 (man-in-the-middle) 공격이 진행 중이거나 호스트가 다른 키를 변경했음을 의미 할 수 있으므로 비밀번호를 입력 할 때주의해야합니다. 이유).
Chris Johnsen

29
어, 호스트 아트는 언제 볼 수 있습니까? (내가 한 적이 없다고 생각합니다.) 키 페어를 생성 한 후에 만 ​​그러한 이미지를 보았습니다. 그리고 '갑자기'변화를 인식하기 위해 무엇을 비교해야할까요.
DerMike

12
나는 randomart가 무결성 검사를위한 해시와 유사한 원칙을 고수했다. 즉, 입력의 작은 차이는 완전히 다른 출력을 생성한다. 그것은 당신이 무언가가 잘못되었다는 것을 알 수 있도록 예상 된 랜덤 아트의 거친 모양을 암기해야한다는 것을 의미합니다. 물론 SSH 등이 연결하고있는 호스트의 랜덤 아트를 보여주지 않으면 실제로는 작동하지 않습니다 (호스트가 알려진 경우에도 그렇게해야 함).
Alan Plum

2
복사가 완료된 후 공개 키를 직접 무결성 검사와 교환 할 때 가장 유용하다고 생각합니다.
jordanpg

198

더하다

-o VisualHostKey=yes 

명령 줄에 넣거나

VisualHostKey=yes 

당신의 ~/.ssh/config.

당신은 당신이 로그온하는 상자의 임의의 예술을 볼 수 있습니다. 언젠가 로그온하고 임의의 예술이 다른 경우 (당신의 두뇌는 가야합니다! 인식하지 못합니다!), 누군가 누군가 해킹을 당하거나 무언가 일 수 있습니다.

아이디어는 의식적으로 할 필요가 없다는 것입니다. 우리 기계 중 하나의 열쇠 중 하나는 나비처럼 보입니다. 또 하나는 거시기처럼 보입니다 (예, 우리의 두뇌는 원시적입니다). 매일 로그온하면 시도하지 않아도 이미지에 익숙해집니다.


9
좋지 않음. 이전에 로그인 한 경우 컴퓨터가 저장된 지문을 사용하여 인식하는 것이 훨씬 좋습니다. 이 기능은 새 컴퓨터에 로그인하는 데만 사용됩니다.
Nicholas Wilson

57
이 답변에 늦었지만, 모든 known_hosts가없는 다른 컴퓨터에서 로그인 한 경우 이것이 매우 유용 할 것입니다. 이 경우 컴퓨터는 알려진 컴퓨터인지 확인할 수 없지만 사용자는 "정상과 다르게 보입니다!"를 볼 수 있어야합니다. 그리고 중단하십시오.
Xkeeper

9
컴퓨터가 인식하도록하는 것은 해킹당하는 자신의 컴퓨터의 알려진 호스트에 취약합니다. 컴퓨터에서 암호를 입력하지 않도록하는 것처럼 호스트 키를 직접 확인하는 것이 좋습니다.
Marko Topolnik

37

공식 발표 : OpenSSH 5.1 출시

ssh (1) 및 ssh-keygen (1)에 실험적인 SSH 지문 ASCII 시각화를 소개합니다. 비주얼 핑거 프린트 디스플레이는 새로운 ssh_config (5) 옵션 "VisualHostKey"에 의해 제어됩니다. 변경된 호스트 키를 쉽게 호출하고 거부 할 수있는 SSH 호스트 키를 시각적 형식으로 렌더링하는 것이 목적입니다. 이 기술은 "랜덤 아트 [*]"로 알려진 그래픽 해시 시각화 체계와 베를린 23C3의 Dan Kaminsky의 생각에서 영감을 받았습니다.

무작위 아트를 생성하는 데 사용되는 알고리즘은 여전히 ​​변경 될 수 있으므로 지문 시각화는 현재 기본적으로 비활성화되어 있습니다.


8
마지막 문장은 실제로 가치가 있습니다. OpenSSH 6.8 릴리스 상태 에 대한 OpenBSD Journal @ Undeadly.org 정보 , "비주얼 호스트 키도 다를 수 있습니다." 최신 소프트웨어는 이전 소프트웨어에 표시된 이미지와 다른 이미지를 보여줍니다.
TOOGAM


11

ssh-keygen 생성 후 표시되는 Randomart는 방금 생성 한 키의 그래픽 표현입니다. 그때:

  • Randomart은 하지 정말 유용 에 대한 SSH를 키를 생성 한 사용자

  • Randomart는 SSH를 통한 연결을 사용 하여 동일한 서버에 자주 연결하는 사용자에게 매우 유용 할 수 있습니다 . SSH 명령에 "-o VisualHostKey = yes"옵션을 추가 한 경우 :

    ssh user@domainname.com -o VisualHostKey = yes

서버의 공개 키에 해당하는 Randomart가 표시됩니다.

예를 보려면 다음을 시도하십시오.

ssh git@github.com -o VisualHostKey = yes

사용자가 종종 같은 서버에 연결하는 경우 ,이 서버 의 공개 키 해당 하는 Randomart를 인식하는지 여부를 빠르고 쉽게 확인할 수 있습니다 . 공개 키 자체의 문자열을 확인하는 것보다 쉽고 빠릅니다!

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.