SW-PRODUCT/개발
ssh 세팅
굴돌
2014. 10. 10. 17:30
- keygen & add
- 아래 명령어를 이용해서 id_rsa_user1라는 이름으로 키 파일 생성.
이때, passphrase 없이 생성한다. => ssh-agent 사용환경 세팅 안되서...ssh-keygen -t rsa -C "user1@MyTeam" -f id_rsa_user1
- 아래 명령어를 이용해서 id_rsa_user1라는 이름으로 키 파일 생성.
- github setup
- github에서 user1의 repository에 대한 권한을 적절히 준다.
- user1로 github에 로그인해서 SSH Keys 메뉴를 이용해 id_rsa_user1.pub를 등록해준다.
cat id_rsa_user1.pub
- ssh config
- ssh의 alias 기능을 이용해서 지정한 IdentityFile을 이용해 ssh 연결하도록 할 수 있다.
- config file 설명: http://nerderati.com/2011/03/17/simplify-your-life-with-an-ssh-config-file/
- githug config 설명: http://stackoverflow.com/a/17158985/1845799
cat <<EOF > config Host user1-github HostName github.server.com PreferredAuthentications publickey IdentityFile ~/.ssh/id_rsa_user1 EOF
- test with ssh -T
- 아래 명령어를 이용해서 특정 host로 접근이 가능한지 확인한다.
- host까지만 체크하는 것이라 repository 지정이나 github 권한 세팅은 없어도 된다.
- publickey 어쩌구 에러가 나면 이 링크를 확인해본다.
github에 pub 키 등록이 안되서 publickey 어쩌구 에러가 떴었다. - 참고로, 결과 메시지의 user1 자리에는 github 계정명이 오는데, pub키로 매칭 성공한 계정의 이름을 보여주기 때문에 특정 키파일이 어느 계정에 매핑됐는지 모를때 계정 찾는 용도로도 활용 가능.
ssh -T git@user1-github # simple test ssh -vT git@user1-github # for detail messages.
- test with git ls-remote
- local에서 아래 명령어를 이용하면 Servers repository에 권한 세팅이 잘 되었는지 확인할 수 있다.
- deploy key로만 등록되어 있어도 여기까지는 잘 된다. 여기까지는 되고 git push를 했는데 안된다 싶으면 github에서 해당 계정의 권한을 체크해본다.
git ls-remote -h git@user1-github:MyTeam/Servers HEAD
- remote origin 변경
cd /daum/git/Servers/ git remote set-url origin git@user1-github:MyTeam/Servers