ssh-keygen
Kali 폴더에 키 쌍을 생성하는 데 사용합니다 ~/.ssh
.
엄청난. 에 공개 키도 추가했습니다 ~/.ssh/authorized_keys
. 600
파일에 대한 권한도 설정되었습니다.
결과 :
- Putty: ip_rsa.ppk 사용 - trunks@lanIP 로 로그인합니다
invalid format
. - PowerShell 텔넷: ssh trunks@lanip -i 개인 키 파일 경로 -
invalid format
.
나는 심지어 openSSH로 변환했지만 아무 소용이 없었습니다. 내가 뭘 잘못했나요? 사용자 이름, 비밀번호 등 일반 로그인 계정에 계속 로그인하는데, 이는 내가 원하는 것과 다릅니다. 한숨을 쉬다. 이전에는 이 문제가 발생하지 않았습니다. Putty는 소프트웨어를 업데이트해야 합니다. 진지하게.
공개 키를 확인해 보니 길고 올바른 형식의 문자열이었습니다. 저는 퍼티 텔넷과 DD-WRT의 공개 키 문자열을 아무 문제 없이 사용하고 있습니다.
답변1
ssh-keygen
세 가지 형식의 파일을 생성할 수 있습니다.
- OpenSSH 자체 형식(RFC4716, 기본값),
- PKCS8 및
- PEM 형식.
개인 키의 첫 번째 줄로 구분할 수 있습니다.
- 라고 되어 있으면
"-----BEGIN OPENSSH PRIVATE KEY-----"
RFC4716이고, - 라고 표시되면
"-----BEGIN RSA PRIVATE KEY-----"
PEM이고 - 그렇다면
"-----BEGIN PRIVATE KEY-----"
PKCS8입니다.
모든 경우에 공개 키는 동일하게 보입니다. 또한 이러한 형식 간에 자유롭게 변환할 수도 있습니다.
PowerShell에서 OpenSSH를 사용하고 있습니다. 를 실행하여 이를 확인할 수 있습니다 ssh -V
. 이러한 형식의 키와 직접 작동해야 합니다.
ssh-keygen
생성된 파일을 Putty의 ppk 형식 으로 변환하려면 를 사용하세요 puttygen
. 또는 생성 키를 사용하면 puttygen
OpenSSH 형식으로 변환됩니다.
공개 키에는 "Type Key Comment"라는 세 부분이 포함되어 있으며, 마지막 부분은 선택 사항이며 자유롭게 변경할 수 있습니다. 파일 에서 키에 레이블을 지정하는 데 사용할 수 있습니다 authorized_keys
(예: 해당 개인 키가 어디에 있는지 또는 누구의 키인지 설명하기 위해). 다른 부분은 그대로 복사해야 합니다. 공개 키는 항상하나의 선, 별도의 줄로 파일에 추가되어야 합니다 authorized_keys
.
인증 메커니즘을 사용하여 대상 호스트에 SSH로 연결할 수 있는 경우 파일이 존재하지 않으면 ssh-copy-id target-host
올바른 권한을 사용하여 파일을 생성하고 거기에 개인 키를 추가하거나 파일이 존재하지만 키가 있는 경우 시도해 보십시오. 비밀 키가 추가됩니다. 키는 .ssh/authorized_keys
파일에 없습니다. 이러한 파일을 작성하는 또 다른 방법은 cat id_rsa.pub >> authorized_keys
.
답변2
복사/붙여넣기한 개인 키의 파일 크기가 원래 개인 키의 파일 크기와 동일한지 확인하겠습니다. 텍스트 편집기는 파일 끝에 개행 문자를 추가하거나 무시하여 이 문제를 일으킬 수 있습니다.