🔑 SSH Key 접속 방법

ssh 접속 시도시 일반적인 커맨드는 아래와 같습니다.

ssh ubuntu@2vup.com #user@domain
ssh ubuntu@0.0.0.0  #user@staticIP
ssh ubuntu@0.0.0.0 -p22222 #user@staticIP -portNumber
ssh -i ~/.ssh/id_rsa ubuntu@0.0.0.0 #sshkey_Route user@staticIP

첫 번째 방법은 유저명@도메인, 두 번째 방법은 유저명@ip(고정) 세 번째 방법은 ssh 접속 포트가 22번이 아닐 경우 특정 포트 선택 접속, 네 번째 방법은 ssh key 파일이 여러가지일 때 파일 경로를 정확히 설정하여 로그인하는 방법입니다.

옵션을 통해 직접 지정해서 로그인이 가능하지만, 이렇게 각각 관리하여야 하는 키 파일이 여러 개일 경우 굉장히 비효율적인 과정을 거치게 됩니다.

SSH config 파일은 이를 방지하며, 간편하게 SSH 접속을 진행하도록 도와줍니다. SSH config 파일에 옵션을 미리 기입하여 ssh 접속 커맨드를 짧은 단축어로 변경합니다.

SSH config 단축어 지정

서버가 아닌 로컬의 터미널에서 아래 커맨드를 입력합니다.

sudo nano ~/.ssh/config

만일 안에 기재된 내용이 있을 경우 최하단에서 한 줄을 띈 후 입력합니다.

SSH config 파일에 등록할 인스턴스의 host명이 [port] 라고 가정했을 때, config 파일은 아래와 같습니다.

🤌 예시 환경

Ubuntu 20.04 인스턴스에 고정ip 연결하여 사용중 ssh 접속 포트 - 기본, (22) 따로 변경한 적 없음 ssh key 생성 당시 경로, 파일명 : ~/.ssh/key/key_rsa

해당 조건에서 사용할 SSH config 파일을 작성해 보겠습니다.

🗃️ SSH config 파일 작성 예시

Host Port
HostName ***.***.***.***
User ubuntu
IdentityFile ~/.ssh/key/key_rsa
Port 22

🚗 옵션별 설명

Host 에는 호스트명을 기재합니다. 참고로 host명을 간단하게 변경하는 방법에 대해서는 이 포스팅을 참고하세요.

HostName에는 연결할 인스턴스의 고정 IP (staticIP) 를 기재해줍니다.

User는 ubuntu (ubuntu일 경우 고정)로 기재합니다.

IdentityFile은 로그인할 private key의 경로와 파일명을 제시해주어야 합니다.

사용하는 key file의 경로와 파일명이 ~/.ssh/id_rsa 처럼 기본적일 경우 띠로 지정해주지 않아도 되지만, ssh key를 여러개 사용하는 경우 반드시 해당 옵션을 넣고 ~/.ssh/key/key_rsa 처럼 private key 파일의 정확한 경로와 파일명을 제시해주어야 합니다.

Port는 22번에서 변동이 없는 경우 생략 가능하나, 22번 포트를 닫고 특정 포트를 연 경우 반드시 이 쪽에 변경된 포트를 기재해야 합니다.

Mac에서 ssh 접속용 config 파일 설정하는 방법 정리