- 저번에 올린 글 ssh를 사용해 git clone 하기 에서는 ssh키를 생성할 때 비밀번호, passphrase를 따로 생성하지 않고 진행하는 것을 알아보았다
- 비밀번호 생성을 하지 않은 이유는 비밀번호를 추가로 요구하기 때문이다
- 하지만 ssh키와 비밀번호까지 사용한다면 더욱 안전하게 사용할 수 있다
- 이번에는 비밀번호와 함께 ssh키를 생성하고, ssh-agent를 이용해서 암호를 요구하지 않도록 만들어보자!
결과
- 최초 셸 실행 때 ssh 비밀번호를 입력하면, 앞으로 비밀번호를 묻지 않는다
- 컴퓨터를 다시 켜면 물어본다
방법
(공식문서) https://docs.github.com/en/github/authenticating-to-github/connecting-to-github-with-ssh/working-with-ssh-key-passphrases
- 사용하는 터미널에 따라 다른 프로필을 설정해줘야 한다
- 윈도우와 리눅스 모두 동일한 방법이다
~/.bashrc1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| env=~/.ssh/agent.env
agent_load_env () { test -f "$env" && . "$env" >| /dev/null ; }
agent_start () { (umask 077; ssh-agent >| "$env") . "$env" >| /dev/null ; }
agent_load_env
agent_run_state=$(ssh-add -l >| /dev/null 2>&1; echo $?)
if [ ! "$SSH_AUTH_SOCK" ] || [ $agent_run_state = 2 ]; then agent_start ssh-add elif [ "$SSH_AUTH_SOCK" ] && [ $agent_run_state = 1 ]; then ssh-add fi
unset env
|
- 윈도우에서는 git bash를 이용한다
vi ~/.bashrc
명령해 vi 에디터로 위 내용을 추가해준다
i
키를 눌러 입력 모드로 가서 위 내용을 붙여 넣고,
esc
키를 눌러 입력 모드에서 나와서 :wq
를 입력해 저장하고 나온다
- 터미널에
source ~/.bashrc
명령해 터미널을 새로고침 한다
- ssh 비밀번호를 요구하는데, 이때 한번 인증을 하면 이후에 비밀번호를 입력하지 않아도 된다
참고