OpenSSL 연결에 성공한 후 서버가 응답하지 않습니다


0

OpenSSL을 사용하여 서버 연결을 테스트하고 있으며 다양한 결과가 있습니다.

  • 서버 A : 사용자 로그인 및 다른 명령이 작동하므로 연결에 성공
  • 서버 B : 연결에 성공했지만 명령을 제출하려고 할 때 서버가 응답하지 않습니다. 오류가 발생하거나 연결이 끊어지지 않습니다. Enter 또는 ^ M을 누르는 곳의 빈 줄

제 생각에는 서버 B의 구성에는 다른 문자 인코딩이나 무언가가 필요하며 Enter 키 입력을 인식하지 못하지만 아무 소용이 없어 보였습니다 ... 어떤 제안이라도 감사하겠습니다!


OpenSSH을 의미합니까?
UtahJarhead

openssl s_client -connect server.com:port텔넷 대신을 사용하여 연결
Dan B

답변:


1

@UtahJarhead와 같이 OpenSSH를 의미한다고 가정합니다.

나는 인코딩에 대해 많이 알지 못하지만 공간, 입력, null 등과 같은 저급 ASCII 항목과는 다른 점을 알게되어 놀랐습니다.

  1. 서버 B 사용자의 쉘을 확인하십시오 . 어떻게 든 해당 컴퓨터에 액세스 할 수 있습니까 su? 같은 문제가 발생합니까?
  2. sshd 구성을 확인하십시오 . 같은 어떤 물고기 옵션이 있습니다 ChrootDirectory, ForceCommand, 등? 두 서버에서 sshd 구성을 비교하여 의심스러운 부분을 확인하십시오.
  3. 디버그 . 서버 B에 연결하고 ssh -vvv user@serverbsus 출력을 찾으십시오. 내 쉘 할당은 다음과 같습니다.

    debug2: channel 1: request shell confirm 1
    debug2: callback done
    debug2: channel 1: open confirm rwindow 0 rmax 32768
    debug2: channel_input_status_confirm: type 99 id 1
    debug2: PTY allocation request accepted on channel 1
    debug2: channel 1: rcvd adjust 2097152
    debug2: channel_input_status_confirm: type 99 id 1
    debug2: shell request accepted on channel 1
    

    이것들은 나를 위해 디버그 출력의 마지막 줄입니다.

그 중 하나라도 실패하면-이 기계들 사이의 명백한 차이점은 무엇입니까?


서버 B에 대한 SSH 액세스 권한이 없습니다 openssl s_client -connect. 서버에는 보안 연결이 필요하기 때문에 텔넷 대신 클라이언트로 연결하고 있습니다.
Dan B

제공 할 수있는 SSH
UtahJarhead

1

초기 의심이 맞았습니다. 서버가 단순히 내 Enter 명령을 수락하지 않았습니다. -crlf 깃발을 추가하면 처리했습니다.

openssl s_client -connect server:port -crlf

내가 읽은 것에서 이것은 s_client 도구 CR/LF가 Enter 키 를 누를 때 Windows 기반 서버를 읽는 데 필요한 시간 을 보내도록합니다 . 따라서 서버 A는 * NIX 서버이고 서버 B는 Windows 서버이기 때문에 작동했을 것입니다.


고마워, 벤 그래도 자신의 질문에 답변 할 때와 수락 할 수있는 시점 사이에 24 시간 지연되는 것처럼 보입니다. 나중에 멈출 것 같아 어쨌든, 답변 주셔서 감사합니다!
Dan B
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.