항상 까먹는 git remote ssh 설정

git remote ssh 설정을 맨날 까먹는다.

회사에서는 그냥 https로 리모트 설정을 해서 맨날 까먹기 때문에 따로 써놔야겠다. 참고로 Windows 기준임

키 생성

ed25519 알고리즘으로 생성한다.

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

이후 적절히 생성한다.

public key 등록

github이나 gitea(개인용으로는 gitea 띄워서 쓰는 중임)의 유저 설정에 들어가서 SSH 키 관리에 들어가서 퍼블릭 키를 등록한다.

로컬 ssh config

사실 위까지는 그냥 검색하면 나오는데 나는 서비스마다 키를 생성해서 별도로 사용하는 병에 걸려있기 때문에 ssh 서버 호스트마다 어떤 키를 사용해야한다고 알려주는 config 파일이 필요하다.

ssh는 주로 ~/.ssh 아래에 id_ALGORITHM으로 저장된다. config 파일도 여기에 넣어놓는다. ~/.ssh/config 파일을 만들고 다음과 같이 입력한다.

Host gitea.example.com
 HostName gitea.example.com
 User git
 IdentityFile ~/.ssh/PRIVATE_KEY_FILENAME
 IdentitiesOnly yes

유저는 반드시 git이어야 한다.

설정하고 제대로 되는지 테스트를 위해 아래와 같이 입력해본다.

ssh -T git@gitea.example.com

성공적으로 접속 어쩌구 메시지가 나오면 된거다.

근데 레포지토리 접근이 안됨

사실 ssh 키를 만들어서 ~/.ssh 에 둔다 한들 자동으로 해당 키를 등록해서 사용하는게 아닌 것 같다. (일단 내 기억으로는 내 윈도 컴퓨터들과 회사에서 쓰는 CentOS 서버 중에 그런게 있었음)

이때는 키를 수동으로 등록을 해줘야하는데, 윈도에서는 다음과 같이 한다.

일단 Powershell을 관리자권한으로 켜서 다음을 실행한다.

Get-Service -Name ssh-agent | Set-Service -StartupType Manual
Start-Service ssh-agent

이후 앞서 만들어준 키중 프라이빗 키를 ssh-add 명령어를 이용해 등록해준다.

ssh-add ~/.ssh/PRIVATE_KEY_FILENAME

이러면 잘 되더라.

끗.

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다