SSH 로그인이 셸에서는 작동하지만 모든 타사에서 SSH 터널을 통한 로그인이 실패하는 이유는 무엇입니까?

SSH 로그인이 셸에서는 작동하지만 모든 타사에서 SSH 터널을 통한 로그인이 실패하는 이유는 무엇입니까?

저는 ssh원격 서버에 로그인하는 데 사용합니다(처음으로 비밀번호를 묻는 메시지 표시).

셸에서 다음 명령을 사용합니다.

ssh [email protected]

좋은 결과! 그러나 테스트한 다른 모든 데이터베이스 소프트웨어 애플리케이션(Dbeaver 및 Redis Desktop Manager)은 SSH 터널을 사용하려고 시도할 때 실패했습니다. 내 개인 키를 선택했습니다./home/myuser/.ssh/id_dsa.

Redis Desktop Manager의 예: RDDM

Dbeaver의 예: 여기에 이미지 설명을 입력하세요.

터널을 설정하는 경우:

ssh [email protected] -L 6379:127.0.0.1:6379 -N

127.0.0.1:6379에 연결할 수 있습니다. 즉, 터널이 작동 중입니다. 이것이 제3자를 통해서는 작동하지 않는 이유는 무엇입니까?

원격 서버는 CentOS 6을 실행하고 있고 내 데스크탑은 Ubuntu 14를 실행하고 있습니다.

답변1

댓글에서 말씀하셨는데요,

컴퓨터를 다시 시작한 후 ssh다시 로그인하려고 하면 id_dsa파일 잠금을 해제하기 위해 비밀번호를 묻는 메시지가 나타납니다.

대답의 적어도 일부가 있습니다. 다른 도구는 개인 키를 잠금 해제하거나 ssh-agent대신 인증할 수 없습니다. 개인 인증서에서 비밀번호를 제거해야 합니다.

구문은 다음과 같습니다.

ssh-keygen -p [-P old_passphrase] [-N new_passphrase] [-f keyfile]

귀하의 의견에서 지적했듯이 실제 적용은 다음과 같습니다.

ssh-keygen -p -f ~/.ssh/id_dsa

문제의 다음 부분은 Java 및 .NET용 일부 타사 라이브러리가 RSA SSH 키만 처리할 수 있다는 것입니다. (내 경험상) 특정 키 길이까지만 처리할 수 있습니다. DSA 및 ECDSA는 옵션이 아닙니다.

그렇지 않은 경우 ~/.ssh/id_rsa이를 생성하고 공개 부분을 원격 호스트에 복사해야 합니다.

ssh-keygen -t rsa
ssh remoteuser@remotehost 'cat >> .ssh/authorized_keys' < ~/.ssh/id_rsa.pub

문제의 또 다른 부분은 개인 키가 "잘못된" 형식이고변환이 필요함. Redis Desktop Manager의 문서를 간략하게 읽어보면 그렇지 않다고 생각하지만 다시 확인해 볼 가치가 있습니다. 업데이트: 그런 것 같아요JSCH - 잘못된 개인 키키가 OpenSSH 형식이어야 하는지 확인하세요. 이는 이미 사용 중인 형식인 것 같습니다.

관련 정보