synology | ssh key값으로 비밀번호 없이 로그인

시놀로지에서도 ssh 접속을 할 때 키값으로 로그인 할 수 있는 방법이 있다.
일반 linux, 로그인에서도 사욤할 수 있다.

시놀로지를 기본으로 사용하고 있을 경우 home 폴더가 자동 생성 되지않는다.
옵션으로 설정을 해야 한다.

사용자별 home 폴더 생성

Imgur
[제어판] - [고급] 의 제일 하단메뉴 [사용자 홈]에서 사용자 홈 서비스 활성화를 체크한다.

홈 폴더가 있어야 해당 계정에 접속할 public key를 저장할 수 있다.

ssh-keygen

접속이 허용해야 될 컴퓨터에서 키를 생성해야 한다.

$ ssh-keygen
$ ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/leaf/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /Users/schacon/.ssh/id_rsa.
Your public key has been saved in /Users/schacon/.ssh/id_rsa.pub.
The key fingerprint is:
xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx leaf@notebook.local

~/.ssh/ 폴더에 id_rsa, id_rsa.pub키가 생성 된 것을 확인할 수 있다.
이런 방식으로 생성된 키는 aws, git과 같은 서비스에 접속하는데 암호화키로 사용되어 진다.

public key 전송

ssh-copy-id

ssh-copy-id파일이 설치가 되어 있다면 간단히 public key 파일을 이동 등록 할 수 있다.
접속이 허용되어야 할 컴퓨터에서 아래와 같이 명령어를 실행한다.

# ssh-copy-id -i [id_rsa.pub 파일명] [사용자명]@example.com

위와 같은 명령어로 한방에 public key를 sshd가 설치되어 있는 서버에 설치한다.

홈파일 권한 설정

권한이 설정되어 있지 않으면, 접속을 해도 비밀번호를 요구하는 경우가 생긴다.
반드시 chmod명령어를 통해서 폴더 및 파일 권한을 확인하자.

chmod 755 /var/services/homes/abc
chmod 700 /var/services/homes/abc/.ssh
chmod 600 /var/services/homes/abc/.ssh/authorized_keys

이와 비슷하게 id_rsa, id_rsa.pub파일도 권한에 따라서 사용이 안 될수 있다.
반드시 숙지해야 할 부분이다. 매우 중요한 부분.

설정파일 수정

# vi /etc/ssh/sshd_config

아래와 같은 내용의 설정의 주석을 제거 한다.

PubkeyAuthentication yes
AuthorizedKeysFile  .ssh/authorized_keys

그리고 sshd 서비스 재시작

# synoservicectl --restart sshd

서비스 재시작을 하고 난 뒤에 접속을 하려고 하면, 튕겨나는 상황이 발생하면, DSM제어판에 들어가 SSH 서비스 사용을 체크해제 저장하고 난 후 다시 체크상태로 하면 다시 접속 되는 것을 확인할 수 있다.


블로그 이미지

부들잎

안녕하세요

댓글을 달아 주세요

  • joyfuI 2020.07.25 12:52 신고  댓글주소  수정/삭제  댓글쓰기

    감사합니다! 도움이 많이 되었습니다.
    제가 안되던게 권한 설정 문제였군요..ㅠㅠ

    그리고 .ssh 권한 설정 후 하이퍼백업 목록에 .ssh 디렉토리가 포함되어 있으면 하이퍼백업이 실패하는 현상이 있습니다.
    참고하시라고 댓글 남깁니다.