Git에서 계정 別 권한을 주기 위해서 대부분의 경우에 사용하는 SSH,
하지만 push 등을 할 때마다 패스워드를 입력하기가 상당히 귀찮다.

편하게 할 수 있는 방법이 없을까? 당연히 있다!


1. .ssh 확인

   - ~/.ssh/ 경로를 확인하자.


$ ls -al ~/.ssh/

   - ssh 키 파일이 없다.



2. ssh-keygen

   - ssh 키 파일을 생성하자.


$ ssh-keygen

   - [ ssh-keygen ] 명령을 실행하고 그냥 다 엔터를 치면 된다.


$ ls -al ~/.ssh/

   - 다시 한 번 [ ~/.ssh/ ] 디렉토리 안의 파일을 확인하면 위 스크린샷과 같이 파일 2개가 생겼다.
   - 확장자를 보면 알겠지만 [ id_rsa.pub ] 파일이 바로 공개키다.



3. authorized_keys

   - 등록된 사람이라면 그냥 바로 접근을 허용하기 위해서는 authorized_keys 파일을 만들어야 한다.


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

   - 위의 샘플의 경우는 git repository의 owner가 "chani"이고 사용자 역시 "chani"인 경우다.

   - "chani" 계정에 ssh로 접근하는 사용자가 등록된 사용자인지 확인을 하기 위해서는 "authorized_keys"을 참조한다.



   - [ authorized_keys ]가 등록되어 있으면, 위와 같이 패스워드를 묻지 않고 바로 진행이 된다.



   - 그런데, 위와같이 [ authorized_keys ] 파일을 만들어주는 것은 대단히 원시적인 방법이다.

$ ssh-copy-id -i ~/.ssh/id_rsa.pub chani@localhost

   - 위와 같이 하면 뒷쪽에 있는 타겟에 [ authorized_key ] 파일을 생성한다!
   - 참고!



곧 알아보려고 하는 gitolite를 활용한 Git 계정관리에서도
기본적으로 활용하는 "SSH 공개키" 사용 방법에 대해서 알아보았다.

이 부분은 Git에서만 적용되는 것이 아니라, SSH 환경에서 기본적으로 적용하는 방식이다.

잘 알아두면 리눅스 환경에서 많은 도움이 될 것이다.
반응형

+ Recent posts