Dropbear 사용시 “No matching algo kex” 문제 해결 방법

“No matching algo kex” 문제는 클라이언트와 서버 간에 사용할 수 있는 키 교환 알고리즘(KEX, Key Exchange Algorithm)이 일치하지 않아서 발생한다. 이 문제를 해결하려면 클라이언트나 서버 중 한 쪽에서 지원하는 키 교환 알고리즘을 맞추어야 한다.

해결 방법

1. 클라이언트 측에서 키 교환 알고리즘 지정

클라이언트 측에서 사용할 키 교환 알고리즘을 명시적으로 설정하는 방법이다. SSH 클라이언트의 -o 옵션을 사용하여 적절한 알고리즘을 지정할 수 있다.

예시: OpenSSH 클라이언트
scp -o KexAlgorithms=diffie-hellman-group14-sha1 source_file user@192.168.0.57:/destination_path

여러 알고리즘을 시도하려면 쉼표로 구분하여 나열할 수 있다:

scp -o KexAlgorithms=diffie-hellman-group14-sha1,diffie-hellman-group1-sha1 source_file user@192.168.0.57:/destination_path
예시: Dropbear 클라이언트 (dbclient)

Dropbear 클라이언트에서는 -o 옵션을 직접 지원하지 않기 때문에 SSH 구성 파일을 수정해야 할 수도 있다.

~/.ssh/cofig 파일을 열어 다음 내용을 추가한다.

Host 192.168.0.57
    KexAlgorithms diffie-hellman-group14-sha1

2. 서버 측에서 키 교환 알고리즘 추가

서버 측에서 지원하는 키 교환 알고리즘을 추가하는 방법이다. SSH 서버의 설정 파일을 수정하여 추가적인 알고리즘을 지원하도록 설정할 수 있다. 이 방법은 서버에 접근 권한이 있을 때 가능하다.

SSH 서버 설정파일(/etc/ssh/sshd_config)을 열고 다음 줄을 추가하거나 수정한다.

KexAlgorithms diffie-hellman-group14-sha1,diffie-hellman-group1-sha1

수정 했으면 SSH 서버 서비스를 재시작한다.

sudo systemctl restart sshd

답글 남기기