이전에도 비슷한 내용의 글을 작성했었습니다. 저 같은 경우에는 클라우드 서버 뿐만 아니라 NAS도 사용하고 있기 때문에 SSH로 접속 할 수 있는 서버가 여러 개라서 하나의 키로 여러 대의 서버에 접속할 수 있도록 설정하는 중에 Sysnology NAS(이하, 시놀로지 NAS)에도 SSH를 KEY로만 들어갈 수 있도록 설정을 하였는데요.
이 과정에서 다른 서버와 다른 점이 있어서 다른 서버와 달랐던 점을 글로 따로 작성해봅니다.
첫번째로 시놀로지 NAS의 SSH 활성화 방법입니다. Web 콘솔에 접속하신 뒤, 제어판에 들어가셔서, 터미널 및 SNMP에 진입하신 뒤, SSH 서비스 활성화에 체크를 하시고 적용하시면 됩니다.
포트의 경우에는 기본적으로 다른 포트를 하는 것을 추천드립니다. 저 같은 경우에는 포트포워딩을 사용해서, 내부에서는 22, 외부에서는 아예 다른 포트를 사용하고 있습니다.
이전 글에서는 각 사용자의 home 디렉터리에서 .ssh 디렉터리를 생성하고 공개키를 넣었는데요. 그런데, 시놀로지 NAS의 경우에는 기본적으로는 각 사용자의 home 디렉터리를 만들어주지 않습니다. 그래서 별도로 활성화를 해줘야하는데요.
이를 활성화하는 방법은 Web 콘솔의 제어판에서 사용자 및 그룹을 선택하고, 고급 탭을 선택하신 뒤, 제일 밑에 사용자 홈 부분에 있는 사용자 홈 서비스 활성화를 선택하시면 됩니다. 그러면, SSH로 접속했을 때 cd ~
를 사용하셨을 때 에러가 발생하지 않습니다. (기존에는 사용자 디렉터리를 찾을 수 없다고 에러가 남) 그 뒤에는 이전 글을 참조하셔서 설정하시면 됩니다.
시놀로지 NAS의 경우 기본적으로 모든 파일에 777로 설정되는 것으로 보입니다. 그래서, KEY 방식을 도입했을 때 .ssh 디렉터리나 authorized_keys 파일의 권한이 올바르지 않은 경우, 옳은 공개 키를 넣었더라도 사용자의 비밀번호를 요구하거나, 비밀번호 인증을 비활성화한 경우에는 권한이 없다면서, 접속이 되지 않는데요. 그러므로 아래 리스트를 참고해서 권한을 설정해주시기 바랍니다.
사용자 홈 디렉터리(~): 755
.ssh 디렉터리 (~/.ssh): 700
authorized_keys 파일 (~/.ssh/authorized_keys): 600
공개 키를 잘못 설정했거나 설정이 잘못되어 SSH에 접속할 수 없는 상황에는 telnet으로 접속하여 수정하는 방법이 있습니다. 위의 SSH 활성화한 곳에서 telnet을 활성화 해주시고, telnet (IP 주소)
로 접속하시면, 쉘에 접속할 수 있으므로, Password Authentication을 다시 YES로 설정하고, SSHD를 재시작하시면, 다시 비밀번호로 접속하실 수 있게 됩니다.