넷기어 ReadyNAS Ultra 6에서 ssh 활성화 IT/잡담

문제의 시작은 nfs였다. NAS의 특정 디렉토리에 4만개 이상의 파일이 들어가는 상황이 생기고 있는데, nfs로 연결된 리눅스 장비에서 해당 디렉토리를 조회하려고 하니 "Too many levels of symbolic links"라는 오류 메세지가 발생했다. 파일 수가 수천개일 때까지는 이런 문제가 없었던 것 같은데 한 디렉토리 안에 파일이 4~5만개가 되니 골치 아픈 상황이 발생.

ftp와 웹으로 접속해서 확인해 보니 파일은 다 제대로 있는 것을 보니 nfs의 문제가 분명한 듯하다. 인터넷을 이리저리 찾아보니 서버를 운영하면서 비슷한 문제를 겪은 사람들이 많지는 않아도 좀 있긴 있는 모양인데, 커널을 업데이트하니 괜찮아졌다던가 nfs 프로토콜 버전을 변경했더니 괜찮아졌다던가 이런 얘기들뿐이었다. NAS에 적용하기엔 무리다.

이걸 어쩌나 이리저리 고민하다가, NAS에 ssh 데몬을 활성화하고 nfs 대신 sshfs를 시도해 보기로 결정. (sshfs에 대한 내용은 이전 게시물을 참고하자. 여기로)

한가지 반드시 유의할 점이 있다. ssh 접속을 활성화할 경우 루트 권한으로 접속할 수 있게 되므로 사용자의 부주의로 설정을 이상하게 바꿔서 NAS에 문제가 발생할 경우 넷기어에서는 책임을 지지 않는다. 리눅스와 ssh 설정에 익숙하지 않다면 절대 비추천.

아래의 내용은 넷기어 ReadyNAS Ultra 6 RNDU6000 모델에서 작업한 것이지만, 넷기어의 RAIDiator 4.2 펌웨어가 탑재된 x86 리눅스 기반 NAS 제품에서는 공통적으로 가능할 것으로 보인다.

일단 ssh 접속을 활성화하는 애드온(add-on)을 설치해야 한다. 넷기어 홈페이지에서 "Enable Root SSH Access" 애드온을 받는다. 아래의 링크에서 받자.

Enable Root SSH add-on for RAIDator 4.2 (x86)

웹브라우저로 ReadyNAS 관리페이지에 접속한다. "System" -> "Update" 메뉴로 들어가서 "Local" 탭에 가 보면 펌웨어 또는 애드온 이미지를 올릴 수 있다. 여기서 ssh 애드온 이미지를 선택하여 올린다.

애드온 적용 완료후 재부팅하면 ssh 접속이 활성화된다. 계정은 root, 암호는 NAS 관리자 암호와 동일하다.

루트 외에 다른 사용자 계정의 접속을 허용하고 싶다면 우선 루트 계정으로 NAS에 ssh 접속을 한 후, /etc/passwd 파일을 vi 편집기로 변경해야 한다. 파일의 내용을 보면 계정 목록이 보이는데, root 계정을 제외하고 나머지는 기본 셸(default shell) 항목이 /bin/false 이렇게 되어 있을 것이다. 접속을 허용할 계정에 대해 이 부분을 /bin/bash 이렇게 바꾸고 저장하자.

재부팅하면 이제 루트 이외의 다른 계정으로도 ssh 접속이 가능해진다.

리눅스 서버에서 nfs 연결을 해제하고 sshfs로 변경해 보니, 이제는 파일이 많은 디렉토리도 정상적으로 조회할 수 있구나.

필요에 따라 루트 계정으로 ssh 접속한 후 디렉토리/파일의 소유권(chown)과 접근권한(chmod)을 조정해 주면 작업 완료.



핑백

덧글

댓글 입력 영역
* 비로그인 덧글의 IP 전체보기를 설정한 이글루입니다.

Google Analytics


B-Side


adsense(w160_h600)2

통계 위젯 (화이트)

9921327
5348
1764965

ad_widget_2