리눅스 OS 를 쓰는 사람이라면 특히 Git
을 이용하여 Push 할 때 다음과 유사한 경고문을 접하게 되는 경우가 많다. (그냥 내가 그랬음)
remote: Support for password authentication was removed on August 13, 2021. remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
여러번 구글링 해본 결과 . . . Token
을 생성하고 그 Token
을 이용하여 SSH KEY로 로그인 하는 방법을 다들 사용하는 것 같다.
이 글은 . . 내가 구글링을 더이상 하고싶지 않아서 . . 쓰는 기록용 글 이 되겠다 ! ˋ( ° ▽、° )
개인 로컬 home
디렉토리에서 ls -al
명령어를 입력하면 자신의 디렉토리 목록이 전체 리스트 될 것이다.
이때 .ssh/ 폴더로 들어간다.
→ 없다면 mkdir .ssh
를 이용하여 만들어 준다.
이전에 만약 SSH Key
를 만든 적 있다면 위와같이 키파일들이 있을 것이다.
없다면 키파일 을 생성해 주어야 한다.
$ ssh-keygen -t rsa -b 4096 -C "이메일 주소"
- -t :
rsa
방식으로 암호화 (ed25519
이 되지 않는다면rsa
로 진행)- -b : ssh key는 2048 혹은 4096 비트로 진행해야하는데 본인은 4096로 진행
# Generating public/private rsa key pair.
# Enter file in which to save the key (/home/user/.ssh/id_rsa):
와 같이 뜬다면 저장 경로(절대경로) 를 작성한 후 Enter 를 입력
나는 현재 위치에 저장하기 위해 아무것도 입력하지 않고 Enter 를 입력하였다.
# Enter passphrase (empty for no passphrase):
# Enter same passphrase again:
이후 passphrase
를 입력하라고 나오는데, 이는 이후에 git push 가 이루어질 때 입력하게 될 일종의 비밀번호
처럼 동작하는 것 같다.
자동으로 로그인 하고 싶다면 그냥 Enter 치면 된다.
이후 다시 ls -al
을 해보면 위의 이미지 처럼 키 파일이 생성된 것을 확인할 수 있다.
또한 config
파일을 통해 설정파일을 수정해 주어야 한다.
→ 없다면 편집기를 이용하여 config
파일을 아래와 같이 작성하여 생성하자.
Host github.com
IdentityFile ~/.ssh/id_rsa (사용할 키의 Private Key 입력)
User git
키 파일을 생성했다면 제대로 동작하는지 확인 하는 작업이 필요하다 .
$ eval "$(ssh-agent -s)"
와 같이 터미널에 입력한 뒤 제대로 동작한다면 아래와 같이 메시지가 뜬다.
제대로 동작한다면 SSH-Agent에 SSH Key를 등록하자.
$ ssh-add ~/.ssh/id_rsa
를 터미널에 입력하면 비밀번호를 입력하라고 한 후 성공했다는 메시지가 뜨게 된다.
이제 Key
를 Git
에 등록하면 된다.
*.pub
와 같이 확장자가 pub 인 Public Key의 내용을 copy 하여 Git 에 Paste 하자 !
Git
사이트에서 프로필 에 마우스를 갖다 대면 Settings
를 볼 수 있다.
Settings
클릭 . .
그 다음 > SSH and GPG keys
를 클릭 . .
그러면 다음과 같이 등록된 SSH Keys
들이 있다
우리는 새로 생성해야 하기 때문에 우측 상단의 New SSH Key
클릭 . .
위와 같이 Title 과 Key를 입력한다.
Key는 아까 복사한 공개키 를 그대로 입력하면 된다!
맨앞의 ssh-rsa 를 꼭 같이 포함시켜주어야 한다.
복사가 끝났으면 Add SSH Key
클릭 . . ^ . ^
이제 SSH 연결 준비는 끝 났 다 !
연결할 레포지토리에 들어가서 Codes
를 클릭하고, 이전에는 Https 를 주로 복사했지만, 이제는 SSH 링크를 복사한다.
터미널에서 아래와 같이 clone 혹은 remote 할 때 붙여 넣어 연결한다 . . ^ ㅇ ^
끝 . . . . !!!!
이제 구글링 안할거야 . .