이거 안하니까 푸쉬가 안되더라.

https://docs.github.com/en/authentication/connecting-to-github-with-ssh/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent

You can access and write data in repositories on GitHub.com using SSH (Secure Shell Protocol).

cmd창에

ssh-keygen -t rsa -b 4096 -C “<email address>”

하고 이후 물어보는거 잘 적으면 됨.

처음 물어보는건 키 파일 이름

두번째 물어보는건 암호인가.

-C는 uppercase임에 유의

 

이러고 나면 위 명령어를 실행시킨 경로에

keyname

keyname.pub

두개의 파일이 만들어짐. .pub은 공개키임. 다른 사람이 봐도 됨

.pub이 아닌 거는 private key임. 혼자 안전하게 간직하세요.

.pub파일의 내용을 복사하고서

github page에 우측 상단에서

Settings > SSH and GPG keys > SSH keys 옆에있는 New SSH key버튼

title은 그냥 본인이 알아볼 수있게 지으면 되고

그 아래 key에 복사한 내용을 붙여넣기

 

로컬키는 어케 하냐면

ssh-add -K  ~/.ssh/{키 이름}

하라는데

user폴더에 위에서 만든 private key를 넣고(.ssh폴더가 user에 있길래.)

우분투 쉘 틀어서 경로를 잘 이동해서

ssh-add -K  ./.ssh/{키 이름}

했더니

Enter PIN for authenticator:

이렇게 뜨고 키 생성할 때 passphrase 입력한거 쳤더니 애러 뜸.(사실 내가 어떤 passphrase했는지 기억이 안남.)

그래서 알아보니 -K를 빼는 법이 있다고 함.

ssh-add  ~/.ssh/{키 이름}

그랬더니 아래와 같은 오류가 뜸

Permissions 0777 for './.ssh/{키 이름}' are too open. It is required that your private key files are NOT accessible by others. This private key will be ignored.

구글링했더니

chmod 400 ./{key_name}

하라는 말이 있어서 했는데, 0777이 0555로 바뀜…

또또 알아보니

https://stackoverflow.com/questions/39404087/pem-file-permissions-on-bash-on-ubuntu-on-windows

key가 우분투상에 home/{username} 에 있어야 chmod 명령어가 잘 작동한다고 함.

mv 명령어로 옮기고 ssh-add명령어 실행했더니 passphrase 묻고 잘 실행됨.

 

근데 여전히 푸쉬가 안됨

다시 ssh-add 했더니

Could not open a connection to your authentication agent.

이럼.

 

아… key 이름은 id_rsa여야 하고 user폴더에 있는 .ssh폴더 안에 있어야함.

아니 나는 이름 맘대로 해도 되는 줄 알았지.

ssh -vT git@github.com

이 명령어 쳐서 알았다.

+ Recent posts