OpenSSH의 새로운 키 형식으로 RSA-4096 SSH 키를 저장하는 방법

OpenSSH의 새로운 키 형식으로 RSA-4096 SSH 키를 저장하는 방법

RSA-4096을 생성할 수 없는 것 같습니다.SSH유형오픈SSH다음 명령으로 새 키 형식을 사용하십시오.

$ ssh-keygen \
  -f rsa4096_key \
  -t rsa \
  -b 4096 \
  -C 'This is a test' \
  -o \
  -N ''

RSA-4096에 대한 기존 주석을 변경하려고 하면 최소한 다음과 같은 오류 메시지가 나타납니다.SSH열쇠:

$ ssh-keygen -cf rsa4096_key
Comments are only supported for keys stored in the new format (-o).

그래서 -o키 생성 중에 플래그를 지정했는데도 RSA-4096SSH열쇠는 옛날 글씨로 쓰여진 것 같아요양성자 교환막대신 키 형식오픈SSH새로운 키 형식.

주의 Ed25519SSH키 주석을 소급하여 변경할 수 있습니다.

매뉴얼 SSH-KEYGEN(1)페이지 에 따르면SSH 열기버전 OpenSSH_7.7p1:

-영형ssh-keygen이 개인 키를 저장하기 위해 더 호환되는 PEM 형식 대신 새로운 OpenSSH 형식을 사용하도록 합니다. 새로운 형식은 무차별 비밀번호 크래킹에 대한 저항력을 높여 주지만 OpenSSH 6.5 이전 버전에서는 지원되지 않습니다. Ed25519 키는 항상 새로운 개인 키 형식을 사용합니다.

누구든지 이 문제를 해결하거나 내가 뭘 잘못하고 있는지 말해 줄 수 있나요? 감사해요!

고쳐 쓰다:@slm이 제안한 솔루션은 오해의 소지가 있는 매뉴얼 페이지와 혼란스러운 콘솔 출력이 있지만 나에게 효과적이었습니다. 기본적으로 명령은 다음과 같습니다.

$ ssh-keygen -f rsa4096_key -o -c -C 'here goes your comment'
Key now has comment 'This is a test'
The comment in your key file has been changed.

다시 실행하면 주석이 이전 명령줄에 제공된 주석으로 변경되는 것으로 나타났습니다.

$ ssh-keygen -f rsa4096_key -o -c -C 'Hello World!'
Key now has comment 'here goes your comment'
The comment in your key file has been changed.

따라서 @slm의 답변을 수락했습니다.

답변1

나는 이것이 스위치 동작의 버그 -o이자 OpenSSH의 문서 버그라고 생각합니다.

이것은 나에게 효과적입니다.

$ ssh-keygen \
  -f rsa4096_key \
  -t rsa \
  -b 4096 \
  -C 'This is a test' \
  -o \
  -N ''

$ grep -o "This.*" rsa4096_key.pub
This is a test

따라서 주석은 rsa4096_key.pub파일에 저장됩니다. .pub 파일은 항상 개인 키에서 추출될 수 있으므로 개인 키 파일의 정의이기도 합니다.

이 SU Q&A에 대한 질문은 다음과 같습니다.RSA 키(SSH)의 설명 필드를 어떻게 변경합니까?이에 대한 몇 가지 분석을 보여줍니다. SF Q&A에도 다음과 같은 댓글이 있습니다.키 쌍의 이메일 주소를 변경할 수 있나요?.

주로:

OpenSSH 6.5부터 RSA1뿐만 아니라 모든 키 유형에 대해 작동합니다.

ssh-keygen -f ~/.ssh/keyfilename -o -c -C "here goes your comment"
  • -f: 개인 키 파일
  • -o: 개인 키를 PEM에서 새로운 OpenSSH 형식으로 변환합니다.
  • -c:개인 및 공개 키 파일의 주석 변경
  • -C: 댓글 텍스트
인용하다

관련 정보