공공연히 개발하기 🧑💻/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 보안규칙 설정