SSH 서비스 접속 포트를 변경하자
기본은 22번인데, 2만번대 이후 포트로 변경하자. 포트 변경하면 접속 방법은 아래와 같다
ssh <id>@<도메인> -p<포트번호>

SSH 비밀번호 접근 대신에 공개키 기반으로 변경하자
자신이 주로 사용하는 PC나 노트북에서 ssh key를 생성하고, 공개키를 시놀로지에 복사하면 된다.
ssh-keygen -t rsa -C "<도메인 이름>"
이렇게 입력하면 rsa 방식의 레이블이 <도메인 이름> 인 공개키/개인키가 생성된다. 귀찮으면 아래처럼 해도 무방
ssh-keygen
공개키를 시놀로지에 저장하자
이렇게 공개키 생성하면, 보통 자신의 메인 폴더 밑 .ssh 폴더에 id_rsa 파일과 id_rsa.pub 파일이 생성된다.
id_rsa가 개인키이고, id_rsa.pub이 공개키다. 공개키를 시놀로지에 옮겨주면 된다.
우선 시놀로지에 id_rsa.pub을 옮기고, 공개키를 저장하자.
cat <공개키 위치>/id_rsa.pub >> ~/.ssh/authorized_keys
cat ~/id_rsa.pub >> ~/.ssh/authorized_keys
이렇게 하면 authorized_keys에 공개키가 저장된다.
공개키 권한 변경하자
홈 디렉토리와 .ssh 폴더, 그리고 authorized_keys 파일까지 권한을 변경하자
sudo chmod 700 ~
sudo chmod 700 ~/.ssh
sudo chmod 600 ~/.ssh/authorized_keys
시놀로지의 ssh 설정을 변경하자
ssh로 시놀로지에 접속한 다음에, 아래 명령어로 ssh 설정을 변경한다. 변경한 후에는 sshd를 재실행 시킨다.
<vi 편집기로 ssh 설정파일 편집>
sudo vi /etc/ssh/sshd_config
<아래 항목은 주석을 삭제>
PubkeyAuthentication yes
# The default is to check both .ssh/authorized_keys and .ssh/authorized_keys2
# but this is overridden so installations will only check .ssh/authorized_keys
AuthorizedKeysFile .ssh/authorized_keys
<아래 항목은 주석 처리>
PasswordAuthentication yes
이렇게 처리하면, 공개키의 위치와 공개키로 접속이 가능하다.
단, 포트 번호는 기존과 동일하게 적어줘야 한다.
혹시나 문제가 생겼을때에는 시놀로지에서 telnet 서비스를 잠깐 서비스 켜고, 텔넷 접속해서 설정 변경하고 다시 텔넷 서비스는 끄자.
<sshd 서비스 재시작>
sudo synosystemctl restart sshd.service
그러면, 비밀번호 입력없이 공개키 기반으로 바로 접속이 된다.
개인키는 소중히 다루자.
SSH 접속 포트는 살려뒀고, 비밀번호 로그인을 막아놨다. 포트스캔이 감지되는데, 일단 공개키 기반으로만 접속이 가능해서 뭔가 좀 안심되는 느낌적인 느낌