반응형
SSH 접속 시 발생하는 "no mutual signature algorithm" 오류는 클라이언트와 서버 간에 사용할 수 있는 서명 알고리즘이 일치하지 않을 때 발생합니다. 이 문제는 일반적으로 다음과 같은 이유로 발생할 수 있습니다.
1. 서버와 클라이언트의 알고리즘 호환성 문제
- OpenSSH 버전 차이: 클라이언트와 서버에서 사용하는 OpenSSH 버전이 다를 때, 특정 서명 알고리즘을 지원하지 않을 수 있습니다. 특히, 새로운 OpenSSH 버전에서는 보안 강화를 위해 구식 알고리즘을 비활성화하는 경우가 많습니다. 반대로, 구형 서버는 최신 알고리즘을 지원하지 않을 수 있습니다.
- 구식 알고리즘 사용 제한: 최근 보안 강화로 인해 일부 알고리즘(DSS, RSA, ECDSA 등)이 비활성화되었을 수 있습니다. 예를 들어, ssh-rsa 알고리즘은 최신 OpenSSH 버전에서 기본적으로 비활성화되었을 수 있습니다.
2. 클라이언트의 키 형식 문제
- SSH 키 형식: -i 옵션으로 사용하는 SSH 키 파일이 서버에서 지원하지 않는 형식일 수 있습니다. 예를 들어, 서버가 특정 알고리즘만 허용하도록 구성되어 있는데, 클라이언트가 해당 알고리즘을 제공하지 못하는 경우 문제가 발생합니다.
해결 방법
- 서명 알고리즘 확인 및 추가
- ssh_config 파일 또는 명령줄에서 사용할 서명 알고리즘을 명시적으로 추가해 볼 수 있습니다. 예를 들어, ssh-rsa를 활성화하려면 다음과 같이 시도해 볼 수 있습니다:
ssh -o PubkeyAcceptedAlgorithms=+ssh-rsa -i <private_key> <user>@<host>
- ssh_config 파일 또는 명령줄에서 사용할 서명 알고리즘을 명시적으로 추가해 볼 수 있습니다. 예를 들어, ssh-rsa를 활성화하려면 다음과 같이 시도해 볼 수 있습니다:
- OpenSSH 버전 업데이트 또는 설정 수정
- 서버와 클라이언트의 OpenSSH 버전을 확인하고, 최신 버전으로 업데이트하는 것도 방법입니다. 만약 업데이트가 어려운 경우, 서버 설정 파일(/etc/ssh/sshd_config)에서 지원되는 알고리즘을 추가할 수 있습니다.
- 서버 로그 확인
- 서버 측의 SSH 로그(/var/log/auth.log 또는 /var/log/secure 등)를 확인하여 어떤 알고리즘이 충돌하는지 구체적으로 파악할 수 있습니다.
이 방법을 시도해보면 문제 해결에 도움이 될 것입니다. 문제가 지속된다면, 서버 설정이나 클라이언트 설정을 더 깊이 확인해보는 것이 필요할 수 있습니다.
반응형