우분투 서버 22.04 LTS 공개키 방식 SSH 접속이 안됨

오라클 클라우드에서 ARM 서버를 생성해서 최신 우분투 22.04 LTS를 운영체제로 선택했는데, SSH 접속이 안되서 한시간 정도 헤맸다.

오라클 클라우드에서는 서버를 생성할 때 SSH 접속용 공개키를 생성하거나 등록해야만 SSH 접속을 사용할 수 있는데,
기존 오라클 클라우드에서 사용하던 서버에 등록한 공개키를 등록해서 서버를 생성.
서버 기동 완료 후에 SSH 접속을 하면 아래 에러가 발생. (MobaXterm에 표시되는 에러 메시지)

서버 접속조차 불가능하니 로그를 볼 수도 없고, 한참 헤맸다.

결국 기존 서버에서 ssh -i 옵션으로 개인키를 지정하니 접속이 되더라 (왜 되는건지…?)
접속 에러가 기록된 /var/log/auth.log 파일을 보면

이런 에러 내용이 찍혀 있는데, 암호화 알고리즘이 문제인것 같아서 좀 검색해 보니…

OpenSSH 8.8부터 SHA-1 알고리즘으로 작성한 RSA 인증은 무효화 되었다고 한다.
서버 생성할 때 등록했던 예전부터 사용하던 키쌍이 2년 정도 된 오래된것이니 아마 그걸로 작성했던듯.

ssh-keygen 커맨드로 새로 키를 생성해서 사용하면 문제가 없다.
아무 옵션을 지정하지 않으면, 3072bit RSA(SHA256)로 작성 되니 그걸 사용하면 문제 없다.

일단 ed25519가 더 좋은것 같으니… 이걸로 작성해서 사용해야겠다.

참고 사이트
RSA, ED25519 차이(성능 등)
https://naleejang.tistory.com/218
SSH keys
https://wiki.archlinux.org/title/SSH_keys

댓글 남기기