-- SSH --

Debug-Life ·2022년 11월 22일
0
post-thumbnail

git을 사용하기 위한 보안관련이라고만 알고 있었지 SSH가 무엇인지 정확히 몰랐다. 찾아보니 클라우드 서비스와 관련한 AWS와 같은 곳에서도 모두 SSH인증방식을 사용하고 있었다. 나는 무조건 나중에라도 알아야한다고 생각이 들었기 떄문에 알아보았다.

1. SSH란 무엇인가

SSH는 Secure Shell의 줄임말로, 원격 호스트에 접속하기 위해 사용되는 보안 프로토콜이다.
핵심만 다시 설명하면 원격 즉, 서버에 안전하게 접속하기 위해서 사용되는 보안 방식이다. 아이폰의 지문인식 방법이라고 생각하면 쉽겠다. 다만 이것이 일반적인 로그인 id pw의 방식보다 안전한 이유는 key라는 것을 이용해서 클라이언트(사용자)와 서버(호스트)가 각각이 갖고있는 key를 이용해 서로만을 인증해줄 수 있기 떄문이다. 인증방식은 아래 참고 사이트에서 확인 할 수 있다.
그리고 Git에서 HTTP방식과 SSH방식 둘 모두 사용할 수 있지만 보안을 위해서 SSH방식을 사용한다.

참고 사이트: https://library.gabia.com/contents/infrahosting/9002/



2. 소스트리 SSH 인증에러

부끄럽지만 전회사에서 소스트리를 사용했지만 완전하게 이해하고 사용하지 않았다. 그냥 인증받고 대충 commit, pull, push 작업만 해서 작업했다. 완전히 무지한 나였다. 그렇지만 지금이라도 이 방식을 이해하고 사용해야 내가 걸어갈 길에 맞다고 판단을 해서 공부가 조금 늦어지더라도 git과 SSH를 이해하고 넘어가기로 했다.

  • 오류발생 : 우선 새로운 노트북에 git을 설치하고 소스트리로 원격에 있는 저장소를 가져오려 했지만 사진처럼 오류가 생겼다.
  • 문제점 : SSH 인증오류였다. 해석을해보면 키가 캐시되지 않았다는말인데(업데이트가 안됨) 해결하려고 이틀을 소비했다.
  • 해결방법 : 총 3가지이다.
  1. plink.exe를 명령 프롬프트로 실행시켜 Key를 chche한다.
  2. 새롭게 key를 생성해서 등록한다.
  3. updata Embeded - (블로그 참고)

1번 해결방법

: plink.exe를 명령 프롬프트로 실행시켜 Key를 chche한다.

  1. 작업관리자에 들어가서 PuTTY SSH Key generation 파일 위치를 찾는다
  2. 해당 파일의 경로를 명령 프롬프트나, gitbash로 입력하고 같은 경로에 있는 plink.exe 파일을 실행시킨다.
  3. 다시 새로운 저장소를 만들고, 그 저장소의 SSH를 복사해서 소스트리에서 클론한다.


2번 해결방법

: 새롭게 Key를 생성한다.

  1. 소스트리 상단 도구 탭에서 SSH Key 생성 및 불러오기 클릭.

  2. Generate를 눌러서 key를 생성한다. (이때 창의 빈공간을 왔다갔다하면서 클릭해야 완전하게 생성된다.)

  3. 생성된 public key와 private key를 각각 저장한다.
    아래 사진에서 1번 ssh-rsa로 시작하는 부분이 public-key이고
    private-key 는 2번의 버튼을 눌러 저장한다.

  4. private-key를 등록한다. 그런데 private-key를 실제로 제출하는 것은 소스트리가 아니라 Pageant이다. 따라서 작업표시줄에 있는 Pageant를 먼저 종료시킨다음 소스트리를 종료 후 재시작한다.(언제든지 Pageant를 오른 클릭해서 View Keys를 선택하면 키가 제대로 등록되었는지, 어떤 키를 제출하고 있는지를 확인할 수 있다)

  5. 소스트리를 켜고 도구-옵션을 클릭 후 일반탭 중간에 SSH키 부분에 private-key를 입력한다.
  6. 이제 public key를 등록해야한다. public key는 서버가 제출해야 한다. 즉, 비트버킷이나 깃허브에서 제출해야 한다. 나는 깃허브를 사용하므로 이를 위해서는 사용자 계정 세팅에서 키를 등록한다.
    깃 마이페이지 세팅을 클릭하면 왼쪽 탭 부분 하단에 SSH 키 등록하는 부분이 있다. 여기서 New SSH Key 부분을 클릭해서 public key를 등록해준다.

  7. 다시 소스트리에서 클론을 시도한다.

참고블로그 - https://3dmpengines.tistory.com/1771



3번 해결방법

블로그 참고 https://blog.naver.com/PostView.nhn?blogId=kiddwannabe&logNo=221912764311&categoryNo=31&parentCategoryNo=0&viewDate=¤tPage=1&postListTopCurrentPage=1&from=postView



  • 해결 후 SSH 탭을 눌러 복사 후 소스트리에 붙여 넣어주면 문제없이 자동으로 목적지 경로와 이름이 설정된다.



profile
인생도 디버깅이 될까요? 그럼요 제가 하고 있는걸요

0개의 댓글

관련 채용 정보