오라클 클라우드에서 ARM 서버를 생성해서 최신 우분투 22.04 LTS를 운영체제로 선택했는데, SSH 접속이 안되서 한시간 정도 헤맸다.
오라클 클라우드에서는 서버를 생성할 때 SSH 접속용 공개키를 생성하거나 등록해야만 SSH 접속을 사용할 수 있는데,
기존 오라클 클라우드에서 사용하던 서버에 등록한 공개키를 등록해서 서버를 생성.
서버 기동 완료 후에 SSH 접속을 하면 아래 에러가 발생. (MobaXterm에 표시되는 에러 메시지)
1 |
No supported authentication methods available (server sent: publickey) |
서버 접속조차 불가능하니 로그를 볼 수도 없고, 한참 헤맸다.
결국 기존 서버에서 ssh -i 옵션으로 개인키를 지정하니 접속이 되더라 (왜 되는건지…?)
접속 에러가 기록된 /var/log/auth.log 파일을 보면
1 |
userauth_pubkey: key type ssh-rsa not in PubkeyAcceptedAlgorithms [preauth] |
이런 에러 내용이 찍혀 있는데, 암호화 알고리즘이 문제인것 같아서 좀 검색해 보니…
OpenSSH 8.8부터 SHA-1 알고리즘으로 작성한 RSA 인증은 무효화 되었다고 한다.
서버 생성할 때 등록했던 예전부터 사용하던 키쌍이 2년 정도 된 오래된것이니 아마 그걸로 작성했던듯.
ssh-keygen 커맨드로 새로 키를 생성해서 사용하면 문제가 없다.
아무 옵션을 지정하지 않으면, 3072bit RSA(SHA256)로 작성 되니 그걸 사용하면 문제 없다.
일단 ed25519가 더 좋은것 같으니… 이걸로 작성해서 사용해야겠다.
1 |
ssh-keygen -t ed25519 |
참고 사이트
RSA, ED25519 차이(성능 등)
– https://naleejang.tistory.com/218
SSH keys
– https://wiki.archlinux.org/title/SSH_keys