git clone --bare [복사할 저장소의 git 주소]
git push --mirror [새로운 저장소의 git 주소]
여기서 가져오면서 The requested URL returned error 에러 발생하여 구글링 해보니 해당 주소에 접근 권한이 없어서 발생하는 에러라고 한다.
해결 방법
1. git remote -v
2. git remote set-url origin https://[YourUserGitName]@github.com/[RepositoryGitName]REPOSITORY.git
(우선 remote 확인 후 옮기려고 하는 레파지토리로 remote 변경)
이랬는데도 unable to access~라고 뜨길래 SSH key 등록 방법을 찾으면서 SSH에 대해서도 검색해보았다.
1. SSH란?
SSH(Secured SHell)은 원격 컴퓨터에 접속하기 위해 사용되는 프로토콜 입니다.
통신할때 아이디, 비밀번호 대신 SSH 공개 Key 를 전송합니다.
SSH Key를 생성하면 2개의 키가 한쌍으로 생성됩니다.
- 1) 비공개키 (Private Key)
- 2) 공개키 (Open Key)
SSH 통신을 할때 클라이언트에서 생성된 공개키를 통신하고자하는 서버에 저장합니다.
이후 클라이언트가 서버에 통신을 시도할때 서버에 저장된 공개키가 클라이언트 로컬에 저장된 비공개키와 한쌍임을 확인하고 안전한 통신채널을 확립합니다.
2. 이전에 생성된 key가 있는지 확인
명령어의 의미는 루트 디렉토리 아래의 .ssh 폴더의 id_rsa.pub이라는 파일을 읽으라는 뜻 입니다.
id_rsa.pub은 1번에서 언급한 서버에 저장되는 공개키입니다.
cat ~/.ssh/id_rsa.pub
3. SSH key 생성
엔터만 눌러서 키 생성함
ssh-keygen
4. windows에서 SSH key가 생성된 폴더로 가보면 2개의 key가 있다
이 때 id_rsa가 비공개 키, id_rsa.pub가 공개키입니다.
(private key는 공개되면 안됩니다!)
5. git에 SSH key 등록하기
- 오른쪽 상단에서 settings/SSH and GPG keys 클릭
- New SSH key
- 복사한 공개키 저장
ssh-rsa
해당 공개키
6. 그리고 나서 ssh 레파지토리 주소 복사
- git push --mirror 복사한 경로 붙여넣기 했더니 미러링 완료
참조
https://velog.io/@skyepodium/Github-SSH-Key-%EB%93%B1%EB%A1%9D%ED%95%98%EA%B8%B0