비활성 상태로 인해 원격 호스트가 닫은 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.