손상된 xdebug 세션을 복구하는 방법은 무엇입니까?

손상된 xdebug 세션을 복구하는 방법은 무엇입니까?

세션 도중에 로컬 컴퓨터가 충돌할 때가 있습니다 xdebug. 리버스 셸을 사용하여 원격 서버에 다시 연결하면 다음 경고가 표시됩니다.

Warning: remote port forwarding failed for listen port 9000?

xdebug로컬 머신 충돌 후 즉시 세션을 복구하는 방법은 무엇입니까?

답변1

잘 모르겠지만 xdebug관련성이 없다고 생각합니다. 이것은 단지 SSH 포트 전달 문제입니다. 문제는 서버의 이전 SSH 세션이 여전히 실행 중이라는 것입니다. 이는 여전히 원격 포트를 사용하고 있음을 의미합니다.

한 가지 해결책은 이전 SSH 세션을 종료하는 것입니다. ps axu이것 좀 보세요 kill.

또 다른 해결 방법은 서버가 주기적으로 클라이언트에 ping을 보내고 응답이 수신되지 않으면 세션을 종료하도록 sshd 구성을 수정하는 것입니다. 이를 위해서는 무언가를 편집 /etc/ssh/sshd_config하고 설정 해야 합니다 ClientAliveInterval. 예를 들어 ClientAliveInterval 30이는 데이터가 수신되지 않으면 서버가 30초 후에 클라이언트에 연결을 시도한다는 것을 의미합니다.

자세한 내용은 관련 부분을 복사했습니다.man sshd_config

ClientAliveCountMax
        Sets the number of client alive messages (see below) which may be sent
        without sshd(8) receiving any messages back from the client. If this
        threshold is reached while client alive messages are being sent, sshd 
        will disconnect the client, terminating the session. It is important
        to note that the use of client alive messages is very different from
        TCPKeepAlive (below).  The client alive messages are sent through the 
        encrypted channel and therefore will not be spoofable. The TCP   
        keepalive option enabled by TCPKeepAlive is spoofable.  The client
        alive mechanism is valuable when the client or server depend on
        knowing when a connection has become inactive.

        The default value is 3.  If ClientAliveInterval (see below) is set to
        15, and ClientAliveCountMax is left at the default, unresponsive SSH
        clients will be disconnected after approximately 45 seconds.
        This option applies to protocol version 2 only.

ClientAliveInterval
        Sets a timeout interval in seconds after which if no data has been
        received from the client, sshd(8) will send a message through the
        encrypted channel to request a response from the client. The default
        is 0, indicating that these messages will not be sent to the client.
        This option applies to protocol version 2 only.

관련 정보