[AWS] ssh Config 설정으로 AWS ssh 접속 간편하게 하기!
문제 : 매번 키 파일 위치를 찾기는 너무 번거로워!
하나의 컴퓨터에서 여러개의 SSH키 파일을 유지하거나 하나의 키로 여러개의 서버로 접속한다는건 매우 번거롭습니다.
최근에 여러 클라우드 서비스 나 github, bitbucket 등 SSH키 인증을 사용하는 서비스가 늘고있어서 ssh 키 파일 관리가 필요한 상황입니다.
ssh config 파일을 이용하면 도메인, ip혹은 서버의 alias명 별로 접속계정, SSH 키 파일, ssh 명령 속성을 설정할수있기 때문에 ssh 명령을 간결하게 유지할수 있습니다.
ssh 명령 기본 사용법
기본 ssh키 사용시 명령어
$ ssh 사용자아이디@서버주소
|
기본 ssh키(~/.ssh/id_rsa)가 아닌 다른 ssh키 파일을 사용해야한다면, 다음과 같이 -i 옵션을 사용합니다.
ssh -i /Users/joeykang/workspace/donggu.pem ec2-user@서버주소
|
하지만 만약 복수개의 pem 키나 서버주소를 가지고있다면 매번위치, 유저, 서버주소를 입력해야되니까 관리가 귀찮아집니다. 어떻게하면 편하고 간단하게 접속할수있을까요?
해결방법 : ssh_config 설정을 해줍시다.
여러 ssh키 파일을 사용하거나, 여러개 서버에 접속하려는 상황에서 발생하는 문제는 config 파일로 해결할수있습니다.
1. ssh_config 파일이 있는곳으로 이동합니다.
여기다가 cd
cd /etc/ssh/
|
cs |
2. ssh_config 파일을 열어 설정을 해줍니다.
vi ssh_config
|
cs |
완성을 한다면 아래와 같이 구성되있습니다. 무슨 속성인지 알아볼까요?
# dev
Host dev
HostName ec2-12-34-234-234.ap-northeast-2.compute.amazonaws.com
User ec2-user
IdentityFile /Users/joeykang/workspace/donggu.pem
# ops
Host ops
HostName ec2-12-56-234-234.ap-northeast-2.compute.amazonaws.com
User ec2-user
IdentityFile /Users/joeykang/workspace/donggu.pem
|
Host : 접속할 정보 입력한 정보로 ssh 접속 시 $ssh dev 명령 시 아래 접속 정보로 ssh 접속이 실행됩니다.
HostName : 연결될 서버 호스트 명 (미 설정시 Host값이 HostName으로 사용됨)
User : 네트워크 커넥션에 사용되는 계정 명
IdentityFile : 키 파일 위치
이렇게 설정해주고 나면,
$ ssh dev
Last login: Wed May 12 09:43:42 2021 from 123.123.124.221
__| __|_ )
_| ( / Amazon Linux 2 AMI
___|\___|___|
|
cs |
자
$ ssh ops
Last login: Wed May 12 04:47:01 2021 from 123.123.124.221
__| __|_ )
_| ( / Amazon Linux 2 AMI
___|\___|___|
|
cs |
위와 같이 잘 성공이되는걸 볼수있습니다!