:: 게시판
:: 이전 게시판
|
- PGR21 관련된 질문 및 건의는 [건의 게시판]을 이용바랍니다.
- (2013년 3월 이전) 오래된 질문글은 [이전 질문 게시판]에 있습니다. 통합 규정을 준수해 주십시오. (2015.12.25.)
통합규정 1.3 이용안내 인용"Pgr은 '명문화된 삭제규정'이 반드시 필요하지 않은 분을 환영합니다.법 없이도 사는 사람, 남에게 상처를 주지 않으면서 같이 이야기 나눌 수 있는 분이면 좋겠습니다."
17/12/14 16:14
ssh가 암호화 통신이니 다이렉트로 접속한 노드가 누군진 알아도 그전에 몇단계를 거쳤는지 접속된 서버는 모를 것 같기에 말씀하신 방법은 쉽지 않을 듯 합니다. (가능한 방법 아시는분 계시면 댓글 부탁드립니다)
차라리 마스터 노드에서 수분 간격으로 노드1~12에 폴링으로 접속자 정보를 요구해서 3노드 이상 동일 유저가 접속중일 경우 해당유저 프로세스를 kill하는 방법은 어떨까요.
17/12/14 16:21
/etc/security/limits.conf 파일의 maxlogins 사용해서 사용자나 그룹 추가하시면 제한이 될 거에요.
사용방법은 limits.conf 파일 열어보시면 되고, /etc/pam.d/login 파일에서 session required pam_limits.so 이거 없으면 추가해주시고요. 리눅스 테스트 장비가 없는 상태라 테스트를 못해보네요. ㅠ_ㅠ 확인 한번 해보시길-
17/12/14 16:28
maxlogins 는 로컬 노드의 터미날 다중 접속 수만 제한하는거라 질문자 분께서 말한 멀티 노드 릴레이 접속와는 틀린 상황이 아닐까요?
17/12/14 16:24
ssh 세션을 유지하지 않아도 연산을 실행할 수 있기에 (screen이나 tmux 같은 multiplexer를 쓰면 굳이 세션을 유지할 필요가 없습니다) 동시에 실행되는 ssh를 막는건 사실 의미는 없습니다만... 그 정도로 귀찮게만 만들어도 괜찮으시다면 주기적으로 process list를 떠서 한 유저가 여러개의 ssh session을 열어놓고 있으면 kill시키는 프로그램을 짜시면 됩니다.
노드1~노드12에 개인계정을 발급하셨다면 로그인 기록 조회를 통해 나중에라도 범인을 잡을 수 있는데, 아마 공용 머신이라 그러기 어려운 상황이실걸로 보입니다. 저라면 ssh의 실행 권한을 빼고, 대신 ssh의 wrapper script를 만들어서 ssh를 수행할 때마다 마스터 노드에 기록을 남기도록 했을 것 같습니다. (물론 이래도 ssh client를 custom build해오면 답은 없지만..)
|