ssh config ์ค์ ํด์ ์๋ฒ๋ง๋ค ๋ค๋ฅธ ssh key ์ฌ์ฉํ๊ธฐ
git ์๋ฒ๊ฐ ์ฌ๋ฌ ๊ฐ ์์ ๊ฒฝ์ฐ(github, gitlab, bitbucket ๋ฑ) ์๋ฒ๋ง๋ค ๋ค๋ฅธ ssh ํค๋ฅผ ๋ฑ๋กํ ์ ์์ต๋๋ค.
ssh ๋ -i(identity_file) ์ต์ ์ผ๋ก ์ฐ๊ฒฐ์ ์ฌ์ฉํ ๊ฐ์ธํค๋ฅผ ์ง์ ํ ์ ์์ง๋ง ๋งค๋ฒ ์ง์ ํ๊ธฐ๊ฐ ๋ฒ๊ฑฐ๋ก์ฐ๋ฏ๋ก Host ๋ณ ์ฌ์ฉํ ssh ํค๋ฅผ ์ค์ ํ์ผ($HOME/.ssh/config) ์ ์ง์ ํ๋ฉด ํธ๋ฆฌํ๊ฒ ์ฌ์ฉํ ์ ์์ต๋๋ค.
์ค์
$HOME/.ssh/config ์ ๋ค์๊ณผ ๊ฐ์ด Host ์ ๋ฐ๋ผ ์ฌ์ฉํ ๊ฐ์ธํค๋ฅผ ์ง์ ํฉ๋๋ค.
~/.ssh/config ํ์ผ์ ๋ชจ๋๋ 644 ์ด์ฌ์ผ ํฉ๋๋ค( chmod $HOME/.ssh/config)
config ์ ์ ์ ์ค์ ์ฌ๋ถ๋ฅผ ํ์ธํ๊ธฐ ์ํด ssh ๋ฅผ verbose ๋ชจ๋๋ก ์คํํด ๋ด ๋๋ค.
$ ssh -vvv -T github Hi lesstif! You've successfully authenticated, but GitHub does not provide shell access.
์์ ๊ฐ์ ๋ฌธ๊ตฌ๊ฐ ๋์จ๋ค๋ฉด github ๋ ์ ์์ ์ผ๋ก ์ค์ ๋์์ต๋๋ค.
~/.ssh/config ์ ์๋ alias ๋ฅผ ์ฌ์ฉํ๋ ค๋ฉด git ์ฐ๊ฒฐ์ ์ ์ฒด URL ์ ์ฌ์ฉํ์ง ์๊ณ Host ์ ๋ฑ๋ก๋ ์ด๋ฆ์ ์ฌ์ฉํ๋ฉด ๋ฉ๋๋ค.
$ git clone github:lesstif/php-jira-rest-client.git
pull ์ด๋ push ๋ฑ remote ์ ์ฐ๊ฒฐํ๋ ๋ช ๋ น์ด๋ฅผ ์คํ์ ์ด๋ค ํค๋ฅผ ์ฌ์ฉํ๋์ง ํ์ธํ๋ ค๋ฉด --verbose ์ต์ ์ ์ฃผ๊ณ ์คํํ๋ฉด ๋ฉ๋๋ค.
$ git pull origin --verbose ย Enter passphrase for key '/home/lesstif/.ssh/gitlab-key/id_rsa':