준비
* 제어판 > 사용자 > 고급 항목에서 사용자 홈 서비스 활성화
키 생성
ssh-keygen 을 이용해서 key 를 생성한다. key 경로와 암호를 입력하면 id 파일과 key 파일이 생성된다. 기본 경로는 ~/.ssh/id_rsa, ~/.ssh/id_rsa.pub 다.
cf. ssh-keygen 은 git for windows 에 포함된 git-bash 에서 실행하면 된다.
키 복사
ssh-copy-id 를 이용하자.
$ ssh-copy-id -i [id_rsa.pub 파일 경로] [username]@hostname -p [portNum]
cf. synology 의 SSH 는 Administrators 그룹에 속한 계정으로 로그인만 지원한다. ssh-copy-id 를 사용하려면 Administrators 권한이 필요하다.
홈파일 권한 설정
복사된 사용자 계정으로 로그인해서 복사된 키에 접근 권한을 추가하자.
$ chmod 755 /var/services/homes/[username]
$ chmod 700 /var/services/homes/[username]/.ssh
$ chmod 600 /var/services/homes/[username]/.ssh/authorized_keys
$ chmod 600 /var/services/homes/[username]/.ssh/authorized_keys
설정파일 수정
ssh 설정을 변경한다.
$ vi /etc/ssh/sshd_config
아래 내용을 변경한다.
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
ssh 서비스를 재시작하자.
$ synoservicectl --restart sshd
재시작이 안되는 것 같으면 DSM 제어판 ssh 서비스 사용을 체크해제하고 다시 체크하면 된다.
테스트
git 명령어 사용시 id / password 확인이 없으면 설정이 제대로 되었다고 본다.
ex)
$ git pull origin
728x90