공공연히 개발하기 🧑‍💻/OS

[맥,리눅스] 터미널 ssh 설치, 접속, config 설정까지 싹정리 - .pem key

공공연히 2024. 4. 25. 00:11

AWS free tier 기간이 4달도 안남은 지금,,, 뭐라도 해야겠다 싶어서 맥북을 켰다,,,
ssh 원격 접속을 해보자.

Table of Contents

1. 사용 환경
2. ssh 설치 확인
3. ssh 설치 (mac, linux)
4. ssh 접속
5. ssh config 설정하고 간편하게 접속

 

1.  사용 환경

  • 로컬 : macOS Sonoma 14.4.1 (지만 리눅스도 포함)
  • 서버 : aws ec2 서버, .pem 키파일 보안

2. ssh 설치 확인

우선 ssh가 설치되어 있는지 확인한다.
macOS는 UNIX기반으로 OpenSSH, SSH Client, SSH Server를 기본적으로 설치되어 있다.

which ssh

which 명령어로 파일의 위치를 알 수 있다.
설치되어 있지 않다면 설치해주자.


3. ssh 설치

  • linux (ubuntu)
apt install openssh-server
sudo apt install openssh-server

 

  • mac

apt는 리눅스 전용(?)이므로 맥은 homebrew를 활용해보자

brew install openssh

 

4.  ssh 접속

 

▶️  기본 형식

ssh [사용자]@[ip주소 혹은 도메인]

 

▶️  ssh pem key로 원격 접속

ssh -i [keyfile 경로] [사용자]@[ip주소 혹은 도메인]

 

ex)

ssh -i serverkey/keyfile.pem ubuntu@127.0.0.1

 

5.  ssh config 설정하고 간편하게 접속하기

매번 파일 경로, ip 주소를 치기는 귀찮다.
ssh config를 설정하여 편하게 접속해보자.

config 파일은 보통 /etc/ssh/ssh_cconfig 에 위치한다.

해당 파일에 서버 정보를 입력해주면 된다.
혹시 모르니 원본 파일은 따로 저장해두는 걸 추천한다.

▶️  원본 보관해두기 (는 그냥 복사)

sudo cp ssh_config ssh_config.original

ssh_config 파일을 복사하여 ssh_config.original 로 저장해둔다.

▶️  config 파일 편집

sudo vi ssh_config

편잡기를 사용하여 파일을 편집해준다.

기본 형식

Host [설정할이름]
    HostName [ip주소 혹은 도메인네임(DNS)]
    User [사용자이름]
    IdentityFile [pem 파일 위치]

로 설정한 후 저장하면 된다.

ex)

Host server-seoul
    HostName 172.0.0.1
    User ubuntu
    IdentityFile /serverkey/keyfile.pem

 

▶️  등록한 config로 접속

ssh serveer-seoul

config에 등록한 Host 이름으로 간단하게 접속이 가능하다.

 

6.  안되면 이거 체크하자

  • 물론 접속하고자 하는 서버에 접근이 가능한 상태여야 한다. 서버 보안 규칙 확인
    • 내 아이피가 접근 허용이 되어 있는지, ssh 접속 허용이 되어 있는지 확인하자.
  • .pem Keyfile 상태 확인
    • keyfile이 다수에게 접근 허용된 경우 보안상 이슈로 접속 빠꾸먹는다.
    • (UNPROTECTED PRIVATE KEY FILE 에러)
    • 해당 오류가 뜬다면 읽기전용으로 설정해두거나, 관련 없는 계정은 권한을 제거해야 한다.

 

 


ssh 접속 오류 해결

 

AWS ec2 보안규칙 설정