[리눅스] ec2 instance 접속 alias 만들기

최정환·2022년 5월 6일
0

리눅스

목록 보기
1/1
post-thumbnail

🔑 ec2 인스턴스에 접속하기 위해서는 아래의 명령어가 필요하다.

ssh -i key.pem ec2-user@port

기억하기도 귀찮고 맨날 명령어 사용하기도 귀찮아서 alias를 설정하기로 했다.

alias ec2login="ssh -i key.pem ec2-user@"

이렇게 설정한 후 포트만 뒤에 붙여서 사용하면 될줄 알았지만 뒤는 무시되기 때문에 쉘의 변수를 사용해야했다.

변수를 이용하기 위해 .sh파일을 하나 만들어서 사용하기로 했다.



순서

  1. 마음에 두는 곳에 쉘 파일을 하나 만든다.

  2. 파일을 작성한다.

  3. alias를 이용해 쉘 파일을 실행시킨다 && 영구 저장

1. 📄 쉘 파일 생성

name.sh식으로 파일을 생성한다.
ec2login.sh을 생성했다.

2. 🖊 파일을 작성한다.

  1. port는 변수로 사용해야하기 때문에 먼저 선언해준다.
    port=$1 파일에서 변수는 하나만 사용하기 때문에 $1로 둔다.

  2. port 번호 확인하기 위해 echo로 print한다.
    echo login in port $port

  3. key.pem의 위치가 만약에 바뀐다면 찾기도 귀찮고 파일도 바꿔야 하기 때문에 그런 경우를 대비하기 위해 find를 사용한다.
    그리고 그 경로를 이용하기 위해 key.txt에 경로를 저장한다.

    find ~/ -name key.pem > ~/key.txt

  4. key 경로를 확인 및 제대로 된 key.pem을 가져왔는지 확인하기 위해 echo를 사용한다.

result=$(cat ~/key.txt)
echo $result
  1. 이제 로그인하기 위한 명령어를 사용한다.
    ssh -i $result ec2@$port

  2. 이용이 끝난다면 key.txt를 삭제한다.
    rm ~/key.txt

3. ⛏ alias 설정

내 shell 파일이 있는 곳을 찾아서
alias ec2login='bash 파일위치(절대 경로)'

이제 pwd가 어딘지 상관없이 ec2login 인스턴스포트번호를 사용한다면 접속이 가능하다.

마지막으로 alias 명령어를 터미널이 기억할 수 있게 해줘야한다.

zsh를 사용하기 때문에 .zshrc를 찾고 그 안에서 alias 설정하는 줄에 가서 저장한다.

참고
변수 설정1
변수 설정2
파일 숨김

0개의 댓글