우분투에서 ssh 접속시
ssh를 통해 연결한 서버에 대해 장시간 I/O 작업이 없으면 해당 터미널이 먹통이 되어 버립니다.
아무 키도 먹지 않게 되는 현상이 생깁니다.
원래 이런건가요?
그러다가 한참 더 지나면 broken pipe 라고 뜨면서 ssh를 통해 접속했던 서버에서 자동으로 로그 아웃 되어 local 로 바뀌어 버리더군요..
제 로컬 노드는 11.04 우분투 사용하고 있고요, 서버는 redhat 계열 사용하고 있습니다.
sshd 에서 configuration 해줘야 하는 건가요?? 해줘야 한다면 어떤것을 어떻게 설정해 줘야 하는지 도움 부탁드립니다.
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
염치 없게도 두번째 질문입니다.;;;;;
커널 컴파일 하는데요 make 하게 되면 모듈이 생기잖아요?
이때 libc.so.6 같이 생성이 되나요? 생성 된다면
make install 시에 libc.so.6 파일이 /lib 아래로 인스톨 된다면
/lib 경로를 다른 곳으로 바꿔 주고 싶은데 어떻게 해야 하는지요?
예를 들어 gcc 로컬 빌드 할때 ./config --prefix= 이런식으로 입력 해 주잖아요??
그래서 make 시에도 그런것이 있는지 궁금합니다.
so파일은 공유라이브러리 입니다. 커널과는
so파일은 공유라이브러리 입니다. 커널과는 상관없죠.
커널을 빌드하신후 make install 하신다면 유저라이브러리는 설치되지 않습니다.
유저 라이브러리와 커널은 상관없습니다. 커널이미지와 모듈만 설치됩니다.
libc를 설치하고 싶으신거면 소스파일 또는 패키지 받아서 설치하시면 됩니다.
경로변경은 소스를 받아 configure --prefix로 변경하시면 됩니다.
(apt-get 에도 경로를 변경할 수 있는것 같은데 해보진 않아서 잘 모르겠네요. dpkg에 --root옵션을 넣으면 되는것 같습니다만...)
make는 configure가 선행되어야 나오는건데.. make시 경로변경을 원하시는건가요? 사실 make시 경로변경이 뭔지도 잘 모르겠습니다만;;
글에 정리가 필요한거 같아요^_^;;
여기를 참조해보세요
http://www.openssh.org/faq.html
2.12 - My ssh connection freezes or drops out after N minutes of inactivity.
아래는 위의 내용중 관련 부분만 추려서 올립니다.
2.12 - My ssh connection freezes or drops out after N minutes of inactivity.
This is usually the result of a packet filter or NAT device timing out your TCP connection due to inactivity. You can enable ClientAliveInterval in the server's sshd_config, or enable ServerAliveInterval in the client's ssh_config (the latter is available in OpenSSH 3.8 and newer).
Enabling either option and setting the interval for less than the time it takes to time out your session will ensure that the connection is kept "fresh" in the device's connection table.
/etc/sshd_config 파일을 수정하면 되는데 , ClientAliveInterval 과 ServerAliveInterval 을 Enable 하고 적절한 수치를 대입해주면 된다고하네요.
원리는 clientAliveInterval 은 정해진 시간마다 서버와 클라이언트가 메시지를 주고받도록하고
ServerAliveInterval 은 클라이언트측에서 응답이없더라도 최대 몇번까지 재시도 할건지 뭐 그런걸 정하는것같네요..
이렇게하면 사용하지않더라도 , 연결이 끊기는 문제를 해결할수있겠네요..
구글에서 ssh , ClientAliveInterval 으로 검색하시면 이와관련하여 올린사람들의 글과 답변이 나오니 추가적인 정보가 필요하시면 그렇게 하시면 도움이 될것같습니다.
비오는데 , 괜찮으시죠? Gunja Institude Technology .. 에서 이글을 씁니다.
아 잘못적었습니다.
ClientAliveInterval 은 서버측 sshd_config 에서 설정하는것이고 ServerAliveInterval 은 Clinet 의 ssh_config 에서 설정하는거라고 나와있네요.
서버의 sshd_config 를 수정하든지 클라이언트의 ssh_config 를 수정하든지 둘중하나를 해주면 될것같습니다.
영문을 완전히 읽어보지않고 한국어 페이지에서 검색된걸 읽어보고 적었는데 , 다시 영문을 읽어보니까 잘못 적었었네요.. 정정합니다.
댓글 달기