한번 설정하면 거의 다시 사용할일 없는 close 작업입니다. 

윈도우 환경에서만 사용하다가 mac 환경에서 멘붕을 겪고 잊어버리기 전에 정리합니다. (리눅스도 아마 같을거에요)


1. 기본 명령어로 clone 하기

1.1 git -c clone https://hostname/repository/project.git 

1.2 아이디 비밀번호 물어봄 -> 아이디 비밀번호 입력하면 clone 작업됨

Cloning into 'project'...

Username for 'https://hostname': 

Password for 'https://hostname':  


1.3 만일 인증서가 어쩌고 하면서 에러가 뜬다면? git 서버에 정상적인 인증서를 설치하지 않은 경우입니다. 

Cloning into 'project'...

fatal: unable to access 'https://hostname/project.git/': SSL certificate problem: self signed certificate 

self-signed 인증서를 설치한 경우가 대부분인데 이때는 MITM공격이 없다고 확신하고.git -c http.sslVerify=false clone https://hostname/repository/project.git   옵션으로 인증서 오류를 무시합니다.   


2. ssh agent 으로 close 하기. 자신의 ssh 공개키를 git 서버에 등록했다고 가정합니다. 

1.1 git -c clone git@hostname:repository/project.git  

1.2 만일 




ssh-agent 에 등록된 개인키 리스트 살펴보기

ssh-add -l



ssh 개인키를 ssh-agent 에 등록하기( 처음 혹은 개인키에 비밀번호가 걸려 있을경우 항상 수행 )

1. 개인키를 적당한 위치에 복사합니다. 보통 user/.ssh/ 에 위치합니다.

2. ssh-add ~/.ssh/personal_private_key.ppk

2.1 만일 개인키에 비밀번호가 지정되어 있으면 비밀번호를 입력합니다. 비밀번호가 틀리지 않았다면 성공적으로 키가 등록됩니다. 

Enter passphrase for /Users/user1/.ssh/personal_private_openssh.ppk: 

Identity added: /Users/user1/.ssh/personal_private_openssh.ppk (/Users/hgchoi/.ssh/personal_private_openssh.ppk) 


3. 만일 "Permissions 0XXX for" 라는 오류가 뜨면 해당 키를 다른 사람이 접근하지 못하도록 퍼미션을 설정해야합니다. 

3.1 chmod 700 personal_private_key.ppk  으로 퍼미션을 변경합니다. 

4. 만일 "Error loading key ".ssh/personal_private_key.ppk": invalid format" 라는 메세지가 뜬다면 OpenSSH 기본 키 포맷이 아닙니다.

4.1 PuttyKeyGen 으로 해당 키를 로딩합니다.

4.2 메뉴에서 "Conversions" -> "Export OpenSSH key" 으로 private key 를 덮어쓰거나 새로 저장합니다. 

4.3 2번으로 돌아갑니다. 



WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED 오류 해결법

Cloning into 'project'...

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

@    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!     @

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!

Someone could be eavesdropping on you right now (man-in-the-middle attack)!

It is also possible that a host key has just been changed.

The fingerprint for the RSA key sent by the remote host is

SHA256:7XawXdUiuwejALWs5bR7JfcXE6IC/d0wwesdKNJJDKDHOM.

Please contact your system administrator.

Add correct host key in /Users/user1/.ssh/known_hosts to get rid of this message.

Offending RSA key in /Users/user1/.ssh/known_hosts:1

RSA host key for git1.nexon.net has changed and you have requested strict checking.

Host key verification failed.

fatal: Could not read from remote repository.


Please make sure you have the correct access rights 


known_hosts 파일에 이미 git repository 서버의 public sign 이 저장되어 있는데 그 사이에 서버에서 디지털인증을 변경하는 경우 입니다. 아주 희귀하지만 겪게 되었는데요. 이때는 간단하게 known_hosts 파일에서 해당 서버의 목록을 삭제합니다. 그리고 다시 clone 을 하게 되면 서버인증서를 보여주면서 계속 할건지 묻습니다. 

Cloning into 'project'...

The authenticity of host 'hostname (??.??.??.??)' can't be established.

ECDSA key fingerprint is SHA256:GqKgaoowjfsduzHbG5kZfMv98QawefdxIQjgqnEyX80.

Are you sure you want to continue connecting (yes/no)? yes

Warning: Permanently added 'hostname,??.??.??.??' (ECDSA) to the list of known hosts.

remote: Enumerating objects: 2689, done.

remote: Counting objects: 100% (2689/2689), done.

remote: Compressing objects: 100% (1651/1651), done.

remote: Total 2689 (delta 1218), reused 2239 (delta 906)

Receiving objects: 100% (2689/2689), 153.58 MiB | 4.61 MiB/s, done.

Resolving deltas: 100% (1218/1218), done.

Checking out files: 100% (1882/1882), done.


이렇게 yes를 누르면 known_hosts 에 서버의 인증서가 기록 됩니다. 




 

+ Recent posts