언제부턴가 AWS의 Lightsail 관리콘솔의 WEB환경 SSH 접속이 안되었다.
Lightsail의 SSH는 콘솔이나 전용프로그램으로 접속하였기에 크게 신경쓰지는 않았지만 혹시 Web으로 접속할 일이 있을수도 있고 정상적으로 접속되던것이 갑자기 안되어서 찝찝한 느낌도 있었다.

우선 오류가 발생할때 접속로그를 살펴보았다.
$ cat /var/log/auth.log|tail
systemd: pam_unix(systemd-user:session): session opened for user ubuntu by (uid=0)
sshd[20690]: userauth_pubkey: certificate signature algorithm ssh-rsa: signature algorithm not supported [preauth]
sshd[20690]: Connection closed by authenticating user ubuntu 000.000.000.000 port 00000 [preauth]
Code language: JavaScript (javascript)
이 문제는 Lightsail의 ubuntu를 18.04 LTS 에서 20.04 LTS로 업그레이드 후 부터 발생되었고 Ubuntu 20.04 LTS에 포함된 OpenSSH 8.2 부터는 보안 문제로 SHA-1기반 ssh-rsa가 기분 CA Signature항목에서 빠지면서 이러한 문제가 발생하게 된다고 한다.
참고
위 링크에서 제안대로 sshd의 설정파일에 CASignatureAlgorithms 항목을 추가하고 sshd를 재실항하면 문제가 해결된다.
$ cat /etc/ssh/sshd_config|tail
...
# Use RSA CA cert.
# https://ibug.io/blog/2020/04/ssh-8.2-rsa-ca/
CASignatureAlgorithms ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,ssh-ed25519,rsa-sha2-512,rsa-sha2-256,ssh-rsa
Code language: PHP (php)
sshd 재실행은 아래 명령어중 하나를 사용하면 된다.
1. $ sudo systemctl restart ssh
2. $ /etc/init.d/ssh restart
3. $ service ssh restart