상세 컨텐츠

본문 제목

Windows에 git 설치 및 최초 설정 (github에 ssh추가)

git

by Riella 2021. 10. 21. 16:56

본문

728x90

Git 다운로드를 한다.

Username이랑 password를 설정하는 부분은 공식페이지를 참고하였다.

github 계정이랑 연결하는게 가장 안전한 방법인데 여기를 참고하였다.

 

옵션 1)

사용자 이름과 이메일 설정하기 / 해지하기

패스워드 설정하기

이름 / 이메일 설정
(--global은 말 그대로 전역으로 설정하는 옵션이기에 빼고 설정도 가능하다)
git config --global user.name "이름/닉네임"
git config --global user.email 이메일

예)
git config --global user.name "John Doe"
git config --global user.email johndoe@example.com

이름 / 이메일 해지
git config --unset --global user.name
git config --unset --global user.email

git config --global credential.helper store
다음번에 git 프로젝트를 push나 pull할때 username과 password를 물어봄

이제 git push(내보내기)나 pull(가져오기)를 할때 password를 치면 된다.

하지만 이게 귀찮으면 아예 password를 안치게끔 하는 방법도 있다 (링크).

 

옵션 2)

github에 새로운 ssh key 등록하기 (출처: github official site)

 

[로컬 컴퓨터]

우선 기존에 쓰던 키가 있는지 확인해본다.

ls -al ~/.ssh

지정된 경로를 찾을 수 없습니다로 뜨면 키가 없는것이다.
이미 쓰던 키가 있다면 바로 업로드를 해도 된다 ([github] 부분으로 이동).

 

[새로운 키 만들기]

.ssh directory가 없다고 뜨면 새로 키를 만들도록 하자.

ssh-keygen -o

Generating public/private rsa key pair.

Enter file in which to save to key (C:\Users\....)이라고 나오면 엔터

Enter passphrase도 그냥 엔터 (비번 설정하고 싶으면 비번 치고 엔터)

Enter same passphrase again: 도 엔터 치기 (비번을 설정했다면 같은 비밀번호 치고 엔터)

 

예전에 적었던 내용이다

git bash(MSYS2든 cmd이든)에다가 다음 명령어를 친다. 이메일은 깃허브 이메일을 치면 된다.

ssh-keygen -t ed25519 -C "your_email@example.com"

위의 명령어가 안 먹히는 경우 아래 명령어를 사용해보자.

ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

그러면 아래와 같이 키를 저장할 파일 경로를 치라고 뜨는데 그냥 엔터를 누르면 된다.

Generating public/private ed25519 key pair.
Enter file in which to save the key (/c/Users/riella/.ssh/id_ed25519):
Created directory '/c/Users/riella/.ssh'.

그리고 passphrase를 입력하라고 뜨는데 보안을 강화하기 위한 비번 같은거라고 생각하면 된다.

설정하지 않을 경우 그냥 엔터를 치면 되고, 설정할경우 비번을 2번 입력해주면 된다.

Enter passphrase (empty for no passphrase):
Enter same passphrase again:

Your identification has been saved in...

(참고) passphrase를 바꾸기

ssh-keygen -p -f ~/.ssh/id_ed25519

 

[ssh-agent 시작하기]

이제 github에 등록하려면 ssh-agent를 실행해야 합니다.

eval "$(ssh-agent -s)"

키를 ssh-agent에 넣어주기

ssh-add ~/.ssh/id_ed25519

 

[github]

이제 github에다 ssh키를 등록하면 됩니다.

Git 로그인 → 오른쪽 상단 아이콘 → Settings → 왼쪽에서 SSH and GPG keys → New SSH Key

Title은 어떤키인지 알아볼수 있게 지으면 되고, Key를 복사한 후 더해줍니다.

Key 복사

cd .ssh
type id_rsa.pub

키가 명령창에 프린트 되면 드래그-복사

 

[기존 git repository clone]

git clone [ssh주소]

 

저는 vim (vi로 시작하는 명령어가 vim) 편집기를 이용하는데 nano같은 다른 편집기를 이용해도 됩니다.

cd ~/.ssh
vi id_ed25519.pub
vim이 없을때:
nano id_ed25519.pub

안의 내용 복사 후 github key에다가 붙여넣기 → Add SSH Key하면 끝!

 

Optional: [ssh-agent 자동 시작]

아래는 ssh-agent를 자동으로 시작하는 방법입니다. 매번 번거롭게 ssh-agent를 시작 할 필요가 없는거죠.

vi ~/.bashrc

또는

nano ~/.bashrc

i (insert 모드로 됨) 입력 후 아래를 그대로 카피해서 넣어준다.

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: 0=agent running w/ key; 1=agent w/o key; 2=agent not running
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
ESC키 누른 후 !wq + Enter

자동으로 시작하면 로그아웃을 하거나 컴퓨터를 끌때까지 계속 백그라운드에서 돌아간다.
그러므로 pid를 kill하면 됨.

ps aux
kill -9 [pid number]

예) 아래 같이 돌아가면
  PID    PPID    PGID     WINPID   TTY         UID    STIME COMMAND
 1676       1    1676       5612  ?         197609 16:48:00 /usr/bin/ssh-agent

kill -9 1676

댓글 영역