시놀로지 SSH 보안, 공개키 기반 로그인

SSH 서비스 접속 포트를 변경하자

기본은 22번인데, 2만번대 이후 포트로 변경하자. 포트 변경하면 접속 방법은 아래와 같다

PowerShell
ssh <id>@<도메인> -p<포트번호>

SSH 비밀번호 접근 대신에 공개키 기반으로 변경하자

자신이 주로 사용하는 PC나 노트북에서 ssh key를 생성하고, 공개키를 시놀로지에 복사하면 된다.

PowerShell
ssh-keygen -t rsa -C "<도메인 이름>"

이렇게 입력하면 rsa 방식의 레이블이 <도메인 이름> 인 공개키/개인키가 생성된다. 귀찮으면 아래처럼 해도 무방

PowerShell
ssh-keygen

공개키를 시놀로지에 저장하자

이렇게 공개키 생성하면, 보통 자신의 메인 폴더 밑 .ssh 폴더에 id_rsa 파일과 id_rsa.pub 파일이 생성된다.
id_rsa가 개인키이고, id_rsa.pub이 공개키다. 공개키를 시놀로지에 옮겨주면 된다.
우선 시놀로지에 id_rsa.pub을 옮기고, 공개키를 저장하자.

Bash
cat <공개키 >/id_rsa.pub >> ~/.ssh/authorized_keys

cat ~/id_rsa.pub >> ~/.ssh/authorized_keys

이렇게 하면 authorized_keys에 공개키가 저장된다.

공개키 권한 변경하자

홈 디렉토리와 .ssh 폴더, 그리고 authorized_keys 파일까지 권한을 변경하자

Bash
sudo chmod 700 ~
sudo chmod 700 ~/.ssh
sudo chmod 600 ~/.ssh/authorized_keys

시놀로지의 ssh 설정을 변경하자

ssh로 시놀로지에 접속한 다음에, 아래 명령어로 ssh 설정을 변경한다. 변경한 후에는 sshd를 재실행 시킨다.

Bash
<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 서비스를 잠깐 서비스 켜고, 텔넷 접속해서 설정 변경하고 다시 텔넷 서비스는 끄자.

Bash
<sshd 서비스 재시작>
sudo synosystemctl restart sshd.service

그러면, 비밀번호 입력없이 공개키 기반으로 바로 접속이 된다.
개인키는 소중히 다루자.


0 0 votes
글 만족도 평가하기
guest
1 답글
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
1
0
Would love your thoughts, please comment.x
위로 스크롤