AWS에 새로운 Ubuntu 서버를 구축했습니다. 이제 어떤 이유로 다른 Ubuntu 서버에서 작동하던 내 개인 키가 그녀에게는 작동하지 않습니다. auth.log의 오류는 다음과 같습니다.
userauth_pubkey: key type ssh-rsa not in PubkeyAcceptedAlgorithms [preauth]
이것은 단지 Putty 문제입니다. Linux 워크스테이션에서 로깅을 시도하면 어떤 컴퓨터에서도 문제가 없습니다.
내가 본 차이점은 새 서버가
우분투 22.04.1 LTS 실행 중OpenSSH_8.9p1 Ubuntu-3, OpenSSL 3.0.2 15 Mar 2022
작동하는 (이전) 서버는 다음과 같습니다.
Ubuntu 20.04.4 LTS(Focal Fossa) 실행 중OpenSSH_8.2p1 Ubuntu-4ubuntu0.4, OpenSSL 1.1.1f 31 Mar 2020
이 OpenSSH 버전에 변경 사항이 있습니까? Putty를 다시 작동시키려면 어떻게 해야 합니까?
답변1
간단한 솔루션.
에 이 줄을 추가하세요 /etc/ssh/sshd_config
.
PubkeyAcceptedAlgorithms +ssh-rsa
그런 다음 sshd
새 설정을 적용하려면 서비스를 다시 시작하십시오.
$ sudo systemctl restart sshd
답변2
SSH 프로토콜에는 다양한 유형의 키와 서명 알고리즘이 있습니다. 키 유형의 RSA 키는 ssh-rsa
SHA-1(이 경우 서명 유형은 ssh-rsa
), SHA-256(서명 유형은 rsa-sha2-256
) 또는 SHA-512(서명 유형은 )를 사용하여 rsa-sha2-512
서명하는 데 사용할 수 있습니다.
여기서 볼 수 있는 것은 RSA 키를 사용하고 ssh-rsa
SHA-1과 함께 서명 유형을 사용하여 연결하고 있다는 것입니다. 불행하게도 SHA-1은 더 이상 안전하지 않으며 서버는 해당 서명 유형을 허용하지 않을 것이라고 알려줍니다. 이는 보안 문제를 방지하기 위해 수행하는 올바른 작업입니다.
몇 가지 다른 방법으로 이 문제를 해결할 수 있습니다. 첫째, 간단히 PuTTY를 업그레이드할 수 있습니다. 최신 버전은 SHA-2 서명 알고리즘(SHA-256 및 SHA-512)을 지원하므로 제대로 작동합니다. Mozilla, GitHub 및 기타 평판이 좋은 당사자에서 가장 권장되는 옵션으로 간주되는 Ed25519 키와 같은 다른 SSH 키를 생성할 수도 있습니다. PuTTY는 이를 EdDSA 키로 분류합니다. 이는 255 또는 256비트 옵션이 필요한 보다 일반적인 용어입니다.
PubkeyAcceptedKeyTypes
포함 하도록 서버 측에서 조정할 수도 있습니다 /etc/ssh/sshd_config
(이렇게 하면 ssh-rsa
다른 모든 옵션도 포함해야 합니다). ssh -Q sig
그러나 이는 안전하지 않은 SHA-1 서명을 사용하고 있음을 의미하므로 다른 옵션 중 하나를 선택해야 할 수도 있습니다.
답변3
의견을 통해 충분히 명확하지는 않지만 보안을 고려하기 전에 다른 간단한 방법이 작동하는지 확인하는 것이 좋습니다.
서버측을 변경하기 전에 Putty를 최신 버전으로 업데이트해 보세요. 내 경우에는 버전 0.78에서 서버 측과 키를 변경하지 않고 이 문제를 해결했습니다.
진짜 이유를 못찾겠다Putty 변경 로그 파일.
답변4
다시 채우다@bk2204의 답변(RSA에는 이제 SHA-2가 필요함)지아코모 카테나치(PuTTY를 버전 0.78로 업그레이드) PuTTY 0.75 버전의 변경 로그에서 설명을 찾을 수 있습니다.
SHA-1 대신 SHA-2를 사용하는 RSA 키 알고리즘을 지원합니다.
따라서 0.75 이전의 PuTTY 버전에서는 최신 OpenSSH 버전에서 기본적으로 비활성화된 SHA-1과 함께 RSA를 사용하려고 시도했습니다.