SSH를 통한 연결 확인
cmd에서 ipconfig를 통해 IPv4 주소를 확인 후 전달하여 접속하려하는 서버에서 해당 접속이 가능하도록 요청.
cmd에서 전달받은 ID/PW, 주소를 통해 ssh명령어를 통해 접속이 가능한지 확인해본다.
아직 key설정을 하지 않았으므로 전달받은 비밀번호가 필요하며 접속하는 쪽의 터미널이 뜨면 정상이다.
$ ssh [USER]@[HOSTNAME] -p [PORT]
- [USER]: 리눅스 사용자(ID)를 입력
- [HOSTNAME]: 네트워크 상 접근 가능한 HOSTNAME이나 IP를 지정
- [PORT]: 리눅스 서버의 SSH 포트. 22번을 사용한다면 -p 옵션을 생략
SSH key 생성
cmd에서 ssh-keygen 을 통해 key를 생성한다.
생성된 key의 경로는 화면에 출력된다.
(예시) C:\Users\Administrator\.ssh
해당 폴더 안에 id_rsa, id_rsa.pub가 생성되어있으면 된다.
SSH key 등록
위에서 생성한 key를 접속하려고하는 서버에 등록해야 한다. 위에 기술한 방식대로 서버에 접속한 후에 아래와 같이 홈 아래에 .ssh 디렉토리를 생성한다.
$ mkdir ~/.ssh
$ chmod 750 ~/.ssh
$ touch ~/.ssh/authorized_keys
$ touch ~/.ssh/known_hosts
$ chmod 600 ~/.ssh/authorized_keys #안될 시 755
$ chmod 644 ~/.ssh/known_hosts
생성된 authorized_keys 안에 id_rsa.pub를 메모장으로 열어 key값을 복사-붙여넣기 해준다.
Docker container와 Git 연동
docker container의 경우 일회성으로 사용하게되면 매번 .ssh 가 사라져서 키설정을 해주어야한다.
이를 방지하기 위해 scp local pc id_rsa와 id_rsa.pub를 접속하고자 하는 서버의 .ssh 디렉토리에 붙여넣는다.
C:\> ssh>scp id_rsa id_rsa.pub [USER]@[HOSTNAME]:/data/home/[USER]/.ssh
이후 docker 설정에서 run 시에 -v 명령어로 container 내의 .ssh 디렉토리를 가리키면 된다.
$ docker run ~~~ -v /data/home/junho1126/.ssh:/root/.ssh ~~~
위 작업을 통해 [접속하는 PC] - [접속하려는 서버] - [docker container] 의 key를 동일하게 만들었으므로 해당 key를 git에 등록하면 container 내에서 git을 사용 가능하다.
VS code를 통해 접속하기
우선 Extentions에 Remote-SSH를 검색, 설치해 준다.
Ctrl + Shift + P 로 ssh 구성파일 수정을 선택하고 양식에 맞게 작성한다.
Host [접속하려는 서버 이름] (임의로 작성 가능)
HostName [IP]
User [ID]
Port [port] (22일 경우 지정할 필요 없음)
IdentityFile [id_rsa의 경로] (옮기지 않았으면 지정할 필요 없음)
저장 후 Ctrl + Shift + P 를 통해 접속 가능
'메뉴얼' 카테고리의 다른 글
docker image와 container 정지/삭제 (0) | 2024.11.08 |
---|---|
Docker Export/Import (2) | 2023.06.13 |
Docker image와 container 생성 (0) | 2023.01.03 |