본문 바로가기

메뉴얼

SSH를 통한 서버 접속

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 Export/Import  (2) 2023.06.13
Docker image와 container 생성  (0) 2023.01.03