ssh -p8520 username@remote_host
원격 서버에 로그인 하는 데 사용 합니다.
이슈 :
작업장에있을 때는 항상 연결되어 있고 제대로 작동합니다. 불행히도 집에서 원격 서버에 연결 한 후 10-15 분 안에 터미널이 정지됩니다.
콘솔에 오류 / 시간 초과 보고서가 없지만 커서를 더 이상 이동할 수 없습니다.
w로그인 사용자를 확인하기 위해 입력하면 일부 좀비 로그인 사용자가 있으며 수동으로 죽여야합니다.
이것은 꽤 성가신 일입니다. 누구든지 나를 도울 수 있습니까?
답변
서버 측에서 실행되는 ssh 데몬 (sshd)은 클라이언트가 침묵 상태가되면 (즉, 정보를 보내지 않으면) 서버 측에서 연결을 닫습니다. 연결이 끊어지지 않도록 ssh 클라이언트가 서버에 수명 신호를 한 번에 보내도록 지시하십시오.
이것에 대한 구성은 파일에 있으며 파일이 $HOME/.ssh/config
존재하지 않으면 파일을 작성하십시오 (구성 파일은 세계적으로 읽을 수 없어야 하므로 파일 을 작성한 chmod 600 ~/.ssh/config
후에 실행 하십시오). 원격 호스트에 4 분 (240 초)마다 신호를 보내려면 해당 구성 파일에 다음을 입력하십시오.
Host remotehost
HostName remotehost.com
ServerAliveInterval 240
모든 호스트에 대해 연결 유지 신호를 보내려면 구성 파일에 다음 내용을 넣으십시오.
Host *
ServerAliveInterval 240
답변
일회성 솔루션을 원했습니다.
ssh -o ServerAliveInterval=60 myname@myhost.com
별명에 저장했습니다.
alias sshprod='ssh -v -o ServerAliveInterval=60 myname@myhost.com'
이제 다음과 같이 연결할 수 있습니다.
me@MyMachine:~$ sshprod
답변
궁금한 분들은 @ edward-coast
서버 의 연결 유지를 설정하려면 다음을 추가하십시오 /etc/ssh/sshd_config
.
ClientAliveInterval 60
ClientAliveCountMax 2
ClientAliveInterval : 클라이언트로부터 데이터가 수신되지 않으면 sshd (8)는 클라이언트로부터 응답을 요청하기 위해 암호화 된 채널을 통해 메시지를 보내는 시간 초과 간격을 초 단위로 설정합니다.
ClientAliveCountMax : sshd (8)가 클라이언트로부터 메시지를 다시받지 않고 전송 될 수있는 클라이언트 활성 메시지 수 (아래 참조)를 설정합니다. 클라이언트 활성 메시지가 전송되는 동안이 임계 값에 도달하면 sshd가 클라이언트 연결을 끊고 세션을 종료합니다.
