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
'Programing' 카테고리의 다른 글
wget에 프록시를 설정하는 방법은 무엇입니까? (0) | 2020.05.08 |
---|---|
C # 배열에서 중복을 어떻게 제거합니까? (0) | 2020.05.08 |
string [] 배열에 문자열을 추가하는 방법? (0) | 2020.05.08 |
이메일 주소가 iOS에서 유효한지 확인하십시오 (0) | 2020.05.08 |
파일이 있는지 확인한 후 파일을 삭제하는 방법 (0) | 2020.05.08 |