Development/Git

Cafe24 웹 호스팅 서버에 GitHub 연동하기

고고마코드 2022. 8. 26. 17:32
반응형

Cafe24 웹호스팅 서버를 사용하는 경우에는 GitHub를 연동하기 어렵습니다.

  • Cafe24 웹호스팅 서버에서 GitHub 연동이 어려운 이유
    git은 지원하지만 ssh-keygen은 지원하지 않아서 ssh 사용 시 GitHub를 연동하기 어렵다.

웹호스팅 서버와 GitHub를 연동하는 과정을 작성합니다.


FTP/Shell 접속 허용

해당 방법은 FTP/SSH를 사용하는 방법이므로 SSH 접속설정을 허용해야 합니다.

  • 호스팅관리 > FTP/Shell 접속설정
    • Shell(SSH) 접속 설정 : 허용

Key 설정

Cafe24에서는 ssh-keygen을 지원하지 않으므로 온라인으로 key를 생성해야 합니다.
putty로 key를 생성할 줄 아는 분은 putty로 생성하셔도 됩니다.

Key 생성

  • 링크(www.wpoven.com)로 접속
    • 원하는 암호화(Type)와 Length를 설정 후 Create Key 클릭 (저는 ecdsa로 생성합니다.)
      참고로 해당 사이트에서 rsa는 sha1으로 생성하기 때문에 GitHub에서는 사용할 수 없습니다.

해당 Key는 다시 확인할 수 없으므로 복사해서 안전한 곳에 보관하는 것이 좋습니다.

서버에 Private Key 파일 저장

저장하는 방식은 SSH 또는 FTP 어떤 방식이든 상관없습니다.
서버의 루트 경로에 .ssh폴더를 생성합니다.
www폴더와 같은 경로입니다.


.ssh폴더 내에 새로 만든 Private Key를 저장할 것입니다.
각 암호화 방식에 맞게 파일을 생성(id_type) 후 private key를 복사하세요.
위에서 생성한 그대로 복사하세요.
저는 ecdsa로 했기 때문에 id_ecdsa로 파일을 생성해서 private key를 붙여넣기 했습니다.


권한 설정

.ssh폴더와 id_ecdsa파일의 권한을 설정해야 합니다.
이유가 궁금하다면 링크(WARNING: UNPROTECTED PRIVATE KEY FILE 해결)를 참고하세요.

  • .ssh폴더는 소유자에게 읽기/쓰기/실행 권한을 부여합니다.
    • 커맨드로 부여하는 방법
      chmod 600 .ssh

  • id_ecdsa파일은 소유자에게 읽기/쓰기 권한을 부여합니다. (쓰기 권한 부여하지 않아도 상관은 없습니다.)
    • 커맨드로 부여하는 방법
      chmod 600 id_ecdsa

GitHub에 Public Key 등록

  1. 개인 GitHub 계정의 메뉴Settings > SSH and GPG keys로 이동합니다.
  2. New SSH key를 클릭
  3. Title, Key type, key
    Title - 본인이 구분할 수 있는 아무 값이나 입력
    Key type - Authentication Key
    Key - Public key 붙여넣기


GitHub 연동

  • 커맨드 창을 열고 ssh 접속합니다.
ssh <user>@<domain>.cafe24.com

저의 경우는 www 내의 폴더들을 GitHub와 연동할 계획입니다.
연결하려는 Repository의 SSH 주소를 복사하세요.
예) git@github.com:gogoma-code/test.git

  • git init
git init

  • add remote addr
git remote add origin git@github.com:gogoma-code/test.git

  • create branch & checkout
git checkout -b main

  • git add & commit
git add .
git commit -m "init"

  • git push
git push -u origin main

GitHub 연동 문제점

GitHub 연동 시 치명적인 문제점이 하나 있습니다.
pull 명령을 수행할 수 없습니다.
다행히 clone은 되기 때문에 pushclone하는 방식으로 사용하면 되기는 합니다.
저도 그렇게 사용하고 있구요...


반응형