윈도우에서
ssh-keygen 사용시 키파일을 다른 곳에 두고 싶은 경우에 폴더명 중간에 .ssh를 추가하고 싶으신 경우 별도로 해당 폴더를 먼저 생성해 주고 ssh-keygen 명령어로 해당 폴더를 저장 위치로 지정해야 하네요.
아니면 .ssh 폴더명을 사용안하면 됩니다.
그리고 키파일 저장 경로를 아래처럼 명시 해야 합니다.
ssh-add "해당 폴더경로 및 파일명"
e.g. ssh-add /d/PHP/ssh_key/id_rsa2 (D \PHP\ssh_key\ 폴더에 id_rsa2파일로 키 생성 했음을 명시)
Secure Shell(ssh)라는 것을 통해서 원격저장소에 접근하는 방법을 살펴보겠습니다.
여러분이 직접 원격저장소 서비스를 운용할 수도 있다는 것 알아두시길
깃허브의 클론 오어 다운로드에서 주소를 제공할 때 https와 SSH 2가지를 제공하고 있음.
지금까지 https를 사용했음 > 단점은 업로드/접속시마다 아이디와 패스워드를 사용해야 한다는 것임.
이번에 ssh라고 하는 다른 방식을 이용할 것임 > 할 때마다 로그인을 하지 않아도 된다는 장점을 가지고 있음(1:51)
물론 ssh는 자동로그인을 위한 수단이 아님
위 2가지 각각의 통신방식이 있는데 ssh통신 방식은 자동으로 로그인 해주는 편익을 제공하는 것일 뿐임
이것을 하기위해서 알고 있어야 할 것들 해야될 일들을 지금부터 살펴보자
운영체제와 상관없이
ssh-keygen
화면에 자료가 나옴
경로를 잘 보시고요
그담 엔터 그리고
엔터
엔터
뭐가 생성이 되냐하면 ssh를 통해서 다른 컴퓨터로 접속할 수 잇는 비밀번호가 생김
일반적으로 사용하는 것은 아이디와 비밀번호를 기억한 후 이용 그러나 지금 생성한 비밀번호는 기계적으로 굉장히 복잡한 과정으로 비밀번호를 만든 것이기 때문에
여러분이 1234라고 비밀번호를 생성하면 정말 쉽게 뚫을 수 있음 방금 생성한 비밀번호는 절대 뚫을 수가 없음(현제기술로 왜냐하면 굉장히 복잡하기 때문)
그 비밀번호가 어디에 저장되었는지는 바로 여기 위에서 괄호안의 경로 있지요? 그곳임 .ssh/id_rsa > .ssh/id_rsa.pub
여러분이 이름이 다르다면 그 이름에 해당하는 것이 생겼을 것임
cd ~(홈 디렉토리를 의미) 위디렉토리로 이동하면 되는데 귀찮아서 이렇게 적음
cd ~/.ssh
ls -al
2개의 파일이 생겼음( id_rsa / id_rsa.pub)
id_rsa <--- 프라이빗 키
id_rsa.pub <--- 퍼블릭 키
id_rsa.pub <--- 퍼블릭 키를 여러분이 접속하고자하는 리모트 컴퓨터의 일정한 장소에 넣어주면됨
그러면 로컬컴퓨터가 (퍼블릭키를 가지고 있는 컴퓨터에)자동로그인 함
로컬컴퓨터의 프라이빗 키는 절대로 외부에 로출되면 안됨(8:6)
그러면 어떻게 퍼블릭키를 리모트컴퓨터에 저장할 것인가?
규칙에 따라 저장을 하면됨 > 깃허브는 쉬움
cat id_rsa.pub
나오는 내용 정교(정확)하게 카피
깃허브사이트에 감 > 오른쪽 위 원안에 녹색 Y자모양 아이콘을 클릭하면 > settings 메뉴 > 여러 가지 나옴
왼쪽 메뉴에서 > SSH and GPG keys > 이곳을 통해서 공개키를 저장할 수 있음
New SSH key 클릭 > 타이틀:지역저장소의 이름 입력 > 예:home dev mac > key : 카피한 내용을 붙여넣기함(10:30)
그리고 아래에 있는 Add SSH key 버튼을 누름
그러면 아래에 새롭게 하나가 추가등록됨
이러면 원격저장소인 깃허브에 퍼블릭키를 저장한 것임(10:49)
그러면 깃허브에 새로운 저장소를 만들어보자
Create a new repository > repository name: gitfth_ssh > creating repository 버튼 클릭
그러면 윗부분에 주소가 나오는데 ssh부분을 클릭 > 주소를 복사 (오른쪽 아이콘 클릭)
그리고..
아래에 or create a new repository on the command line
지역 저장소가 없는 상태에서 원격저장소를 기반으로 하고 싶을 때 하라고 되어있는 내용임
그런데 다르게 합시다.
카피후에... 로컬컴에서
git clone 방금카피주소 붙여넣기 gitfth_ssh
메시지 나오면? yes입력 <-- 한번도 접속하지 않은 곳에 접속하려고 하는데 정말 접속할 것인지 묻는 것임
그리고 방금 생성한 gitfth_ssh로 이동
cd gitfth_ssh
그리고 파일 수정
vim f1.txt > a > git add f1.txt > git commit -m 1
git push
푸시가 잘 되면 > 아이디 비밀번호입력 묻지 않고 수행함
성공한 것임
안에서 컴퓨터들 끼리는 복잡한 과정을 거쳐서 자동으로 해결한 것임 > 우리에게 이 과정은 감추어진 것임
비밀번호를 입력하지 않고 통신하는 방법을 살펴봤음
ssh-keygen
cd ~/.ssh
ls -al
cat id_rsa.pub
(화면에 출력된 public key를 정확하게 드래그해서 복사)
(github 홈페이지로 이동해서 오른쪽 상단 본인계정 아이콘 클릭하고,
settings클릭 왼쪽 메뉴에서 SSH and GPG keys 버튼 클릭)
(오른쪽 상단의 New SSH key 버튼 클릭)
(Title 항목에 원하는 접속이름 넣고, Key항목에 복사해둔 public key를 붙여넣기한 후
Add SSH key 버튼 클릭해서 등록마침)
(새로운 repository 생성하고 SSH버튼 클릭으로 방식을 SSH로 변경 후 해당 SSH 주소를 복사)