Programing

SSH 세션을 활성 상태로 유지

lottogame 2020. 5. 8. 08:14
반응형

SSH 세션을 활성 상태로 유지


ssh -p8520 username@remote_host원격 서버에 로그인 하는 사용 합니다.

이슈 :

작업장에있을 때는 항상 연결되어 있고 올바르게 작동합니다. 불행히도 집에서 원격 서버에 연결 한 후 10-15 분 안에 터미널이 정지됩니다.

콘솔에 오류 / 시간 초과 보고서가 없지만 커서를 더 이상 이동할 수 없습니다.

w로그인 사용자를 확인하기 위해 입력하면 일부 좀비 로그인 사용자가 있으며 수동으로 죽여야합니다.

이것은 꽤 성가신 일입니다. 누구든지 나를 도울 수 있습니까?


서버 측에서 실행되는 ssh 데몬 (sshd)은 클라이언트가 침묵 상태가되면 (즉, 정보를 보내지 않으면) 서버 측에서 연결을 닫습니다. 연결이 끊어지지 않도록 ssh 클라이언트가 서버에 수명 신호를 한 번에 보내도록 지시하십시오.

이에 대한 구성은 파일 $HOME/.ssh/config에 있으며 구성 파일이 없으면 작성하십시오. 4 분 (240 초)마다 신호를 원격 호스트에 보내려면 다음 구성 파일을 넣으십시오.

Host remotehost:
    HostName remotehost.com
    ServerAliveInterval 240

모든 호스트에 대해 연결 유지 신호를 보내려면 구성 파일에 다음 내용을 넣으십시오.

Host *
    ServerAliveInterval 240

구성 파일은 세계가 읽을 수 없어야하므로 다음을 실행하십시오.

chmod 600 ~/.ssh/config

일회성 솔루션을 원했습니다.

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가 클라이언트 연결을 끊고 세션을 종료합니다.


퍼티 설정

FYI Putty 사용자는 여기에서 옵션을 설정할 수 있습니다


다음과 같은 전역 구성을 통해 ssh 연결을 유지할 수 있습니다

/etc/ssh/ssh_config파일에 다음 줄을 추가 하십시오.

ServerAliveInterval 60

참고 URL : https://stackoverflow.com/questions/25084288/keep-ssh-session-alive

반응형