비활성 상태로 인해 원격 호스트가 닫은 SSH 연결을 어떻게 해결합니까?


14

1 ~ 2 분 동안 활동이 없으면 현재 콜로에 ssh하려고합니다.

superuser@thecolo:~$ Connection to 10.123.45.67 closed by remote host.
Connection to 10.123.45.67 closed.
mylocalmac:~ superuser$

ssh 터미널에 무언가를 입력하는 한 연결이 유지됩니다. 1 ~ 2 분 동안 활동이 없으면 위의 메시지가 표시됩니다. 연결하려고하는 컴퓨터는 Ubuntu 12.04.1 LTS 64 비트 서버 버전입니다. 물리적 서버가 아니라 게스트 VMware입니다. Mac 터미널에서 으르렁 거리고 있습니다.

이 질문을이 사이트의 비슷한 질문과 혼동하지 말고 ssh_exchange_identification관련성이 없습니다.

답변:


17

$ HOME / .ssh / config에 다음을 추가하면 모든 ssh 연결이 30 초마다 TCPKeepAlive를 전송합니다.

TCPKeepAlive yes
ServerAliveInterval 30

서버에서 구성 파일을 찾을 수 없음
— insoftservice

파일이 없으면 홈 디렉토리에 파일을 작성할 수 있습니다.
— balkian

9

Linux 컴퓨터에서 연결하는 경우 명령 행에서 직접 일부 옵션을 사용할 수 있습니다

TCPKeepAlive : TCP / IP 프로토콜의 KEEPALIVE 옵션을 사용하여 지정된 비 활동 간격 후에도 연결을 유지합니다. 대부분의 시스템에서 이는 2 시간을 의미합니다. 따라서 TCPKeepAlive 옵션이 SSH로 전달되면 SSH 클라이언트는 암호화 된 패킷을 SSH 서버로 보내 TCP 연결을 유지합니다.

ssh -o TCPKeepAlive=yes user@some.host.com

ServerAliveInterval : SSH 클라이언트에서 SSH 서버로 패킷이 전송되지 않으면 SSH는 TCP 응답을 위해 서버에 암호화 된 요청을 보내는 시간 초과 간격을 초 단위로 설정합니다. 30 초마다 요청을하려면 :

ssh -o ServerAliveInterval=30 user@some.host.com

출처


0

당신은 "유지"해야합니다

클라이언트에 따라 사소하거나 간단 할 수 있습니다. 더 이상 어렵지 않아야합니다!

예를 들어, 퍼티 에서는 연결 옵션에 있습니다 (keepalive를 0이 아닌 값으로 설정)


Keepalive를 어디에 설정합니까? 서버 또는 내 Mac에서? 해당 값을 어디에 설정하고 권장 값은 무엇입니까?
— Thierry Lam

Keepalive는 클라이언트에 있습니다. 귀하의 경우에는 Mac입니다. 어딘가에 옵션이 있습니다!
— 앤드류
당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.