새로운 환경을보다 쉽게 ​​설정하기 위해 id_rsa.pub를 게시 하시겠습니까?


20

새로운 시스템과 환경에서 비밀번호없는 SSH를 쉽게 설정하기 위해 id_rsa.pub파일 (키 쌍의 공개 절반 만)을 웹 어딘가에 게시 할 수없는 이유가 있습니까? 예를 들어 도트 파일 GitHub 리포지토리에서.

나는 알고있다 :

  • id_rsa파일합니다 (키 쌍의 개인 절반은) 신중하게 보호되어야하며,
  • 키 쌍은 암호로 보호해야합니다

그러나 내 검색에서 이것이 허용되거나 권장된다는 명시적인 조언을 얻지 못했습니다.

호기심으로 암호문이없는 키 페어에 대해 동일한 조언이 적용됩니까?


2
일반적인 경우 (안전하게 생성 된 키로 가정)에는 안전 할 수 있지만 과거 에는 키 스페이스를 심각하게 제한하고 공개 키를 기반으로 개인 키를 추측 할 수있는 결함이있었습니다 ( 데비안 OpenSSH 버그 ). SSH 키겐이 비슷한 결함을 겪지 않는다는 것을 어떻게 수 있습니까?
Bob

2
이에 대한 한 가지 메커니즘이 이미 존재합니다. ssh-import-id
MikeyB

그래서 기계간에 id_rsa.pub를 공유 할 수 있습니까?
Federico

답변:


26

RSA는 공개 키를 공유 할 수 있도록 특별히 설계되었으므로 공개 키를 게시 할 수 있습니다. 이는 RSA 인증서가있는 x.509 (및 SSL)의 작동 방식과 매우 유사합니다.

파일을 공개하기 전에 실제로보십시오. 키워드 "ssh-rsa"와 base64로 인코딩 된 키만 있으면됩니다. 당신은 그것을 유지하고 싶을 수도 있습니다 (지금 이것이 기본값이라고 생각합니다).

키에 암호가 있는지 여부에 관계없이 적용됩니다. 암호는 개인 키를 암호화하며 공개 키에는 영향을 미치지 않습니다.

항상 그렇듯이 키가 충분히 entropic하고 큰지 확인하십시오. 손상된 PRNG에 의해 생성 된 경우 예측 가능할 수 있습니다. 그러나 키 공간이 작은 경우 공격자는 열거 된 키 공간의 모든 키를 올바른 키 공간이 될 때까지 시도 할 수 있기 때문에이를 게시해도 추가적인 위험은 없습니다.

4096 비트 키 (specify -b 4096)를 사용하여 누군가 공개 키를 개인 키로 전환하는 것이 평소보다 더 어려워 지도록 (기본값은 2048) 사용하는 것이 좋습니다 . 이것이 유일하게 중요한 위험이며, 알고리즘이 비현실적으로 만들어 지도록 특별히 설계 되었기 때문에 큰 위험은 아닙니다.


33

이미 있습니다. :) 다음과 같이 Github 프로필 URL 끝에 ".keys"를 입력하십시오.

https://github.com/tjmcewan.keys


감사합니다. GitHub는 이것을 무엇에 노출합니까?
richardneish

편의. :) 결국 공개 키입니다-공유되어야합니다. 이제 새로운 공동 작업자의 키를 잡고 서버에 추가하는 것이 훨씬 쉬워졌습니다. 앞뒤 이메일을 저장합니다.
tjmcewan

그들이 그렇게했는지 몰랐습니다.
Zeb

1
Github에서 흥미로운 발견에 +1.
Raymond Tau

5

원칙적으로 공개 프로젝트 저장소에 자신의 특정 구성을 두는 것은 권장하지 않지만 (리포지토리는 모든 사람을 위한 것이고 구성은 당신만을 위한 것으로 가정하면 약간 무례하지만) 보안 영향은 최소화됩니다.

합리적인 공격 경로는 악의적 인 상황에서 사용자 를 식별 하기 위해 공개 키를 사용하는 것입니다. 그게 가능할 수있는 것은 저 너머이지만, 공개 키는 개인 키를 고유하게 식별하지만 그 출처에 대한 힌트는 제공하지 않습니다.

적용되지 않는 모퉁이 사례 공격 벡터가 있지만 데비안이 실수로 openssl PRNG를 깨뜨리는 등의 실패를 떠올리면 영향을받는 시스템에서 생성 된 모든 ssh 키를 쉽게 예측할 수 있으며 공개 키로 식별 할 수 있습니다. 그렇게 경우, 공개 키를 게시하는 것은 문제에서 당신을 토지 수 있습니다. 또는 더 적절하게는 해당 키를 사용 하면 문제가 발생할 수 있습니다.


벡터 1. 지문 충돌은 어떻습니까? 공개 키 자체보다 훨씬 짧습니다. "oops 서버를 다시 설치해야했지만 다른 키를 가지고 있지만 어쨌든 로그인하십시오"와 같은 2 mim 공격과 주어진 사용자 공개 키에 대한 가짜 인증 성공 (가능한 경우 확실하지 않음)

1

예, SSH pubkey를 게시 할 수 있습니다. 그리고 DNS 의 SSHFP 레코드 를 사용하여 서버의 지문을 게시 할 수 있습니다 ! 예를 들어, 서버의 SSH 키를 업데이트 / 변경해야하는 경우이 기능이 실제로 도움이 될 수 있습니다.

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