태그 보관물: rsa

rsa

SSH가 갑자기 잘못된 형식을 반환 그래서 얼마 전에 AWS에 서버를 설정하고 생성

그래서 얼마 전에 AWS에 서버를 설정하고 생성 된 SSH 키를 사용했습니다. 열쇠를 Lastpass에 저장하고 이전부터 성공적으로 검색하여 작동 시켰습니다. 그러나 오늘 다시 시도한 후에는 작동하지 않습니다.

-rw------- 1 itsgreg users 1674 Jun 6 12:51 key_name

나는 시도했다 ssh -i key_name, ssh-keygen -f key_name그러나 아무것도 작품, 난 항상이 오류 메시지가 :

Load key "key_name": invalid format

이 문제를 해결할 방법이 있습니까?



답변

key_name요원이 말하면 내용 invalid format을 확인한 후 키와 같은 문제가있는 것입니다. 정확한 키인지 확인하십시오. 필요한 개인 키가 아니더라도 invalid format키가 작동하면 ssh 에이전트가 반환 되지 않으므로 간단히 연결할 수 없습니다. 어떤 이유로 공개 키를 배치했을 수 있습니다. 확인해 봐!


답변

내가이 문제를 해결하기 위해 한 것은를 사용하여 PPK 파일을 변환하는 데 사용한다는 것 PuttyGen입니다.

먼저를로드 한 urkey.PPK다음 변환 메뉴에서 Openssh 파일 형식으로 내보내기를 클릭하십시오. 새 키 파일을 생성합니다.

지금, ssh -i "newkey" user@127.0.0.1

끝난. 도움이 되길 바랍니다.


답변

.ssh / config 파일에 특정 ID 파일을 지정하여 openssh에 요청했습니다.

원래 작업 구성에는

IdentityFile = <path to public key file>

변경없이 작동이 중지되었습니다. 약간의 생각으로 위의 “공개 키 파일 경로”를 “개인 키 파일 경로”로 바꿨습니다. 효과가있었습니다. 그 이유는 공개 키와 개인 키 파일 모두 RSA 알고리즘에 따라 큰 pudoprime 관련 숫자를 갖기 때문입니다. 개인 키 파일을 공개 키 파일로 바꾸면 키 파일 내에 저장된 base64 블록에서 이러한 암호화 번호가 올바르게 추출되지 않습니다. ssh의 일부 버전은 .pub 확장자를 알아 내고 올바른 개인 키 파일을 식별하는 데 사용할 수 있습니다. 다른 버전에서는 그렇게하지 않습니다. 이 오류가 발생할 수있는 또 다른 방법입니다. 그것이 누군가를 돕기를 바랍니다.


답변

나는 같은 문제가 있었고 어떤 이유로 파일에 Windows 스타일 (CRLF) 줄 구분 기호가있는 것으로 나타났습니다.

또한 파일은 단일 LF로 끝나야합니다.

그것들을 고쳐서 다시 멋지게 만들었습니다.


답변

.ppk 키를 OpenSSH 키로 변환해야합니다

방법은 다음과 같습니다. .

  1. PuttyGen을 다운로드하고 키 페어를 생성하십시오 (키 페어가 준비되어 있지 않은 경우). 개인 키를 폴더 (.ppk)에 저장
  2. 이미 개인 키를 가지고 있다면 “로드”버튼을 눌러 개인 키 파일 (.ppk)을로드하십시오. 그렇지 않으면이 단계를 건너 뛰십시오
  3. “변환”메뉴에서 OpenSSH 키 내보내기를 선택한 다음 폴더에 저장하십시오.
  4. 이제 비밀번호를 입력하지 않고 키를 사용하여 서버에 로그인 할 준비가되었습니다 (이미 공개 키를 /root/.ssh/authorized_keys, chmod 600 /root/.ssh/authorized_keys 및 재시동 된 SSH 데몬 아래에 둔 것으로 가정합니다)

답변

CI 파이프 라인을 위해 git tagging utils를 작성할 때 오늘이 문제에 부딪 쳤습니다.

내 두 키의 차이점은 다음과 같습니다.

$ diff ~/.ssh/gitlab ~/.ssh/git_ssh_key
27c27
< -----END OPENSSH PRIVATE KEY-----
---
> -----END OPENSSH PRIVATE KEY-----
\ No newline at end of file

코드를 다음과 같이 변경했습니다.

     with open(ssh_key_file, 'w') as skf:
-        skf.write(ssh_key)
+        skf.write(ssh_key + '\n')

그리고 이제 내 ssh 키가 작동합니다.

TL; DR-개인 키 끝에 줄 바꿈이 있어야한다고 생각합니다.


답변

필자의 경우 시작 / 종료 “헤더”와 주요 데이터 사이에 줄 바꿈이 있음이 밝혀졌습니다.

-----BEGIN RSA PRIVATE KEY-----

- Key data here -

-----END RSA PRIVATE KEY-----

여분의 새 줄을 제거하여

-----BEGIN RSA PRIVATE KEY-----
- Key data here -
-----END RSA PRIVATE KEY-----

내 문제를 해결했다.