🔑 ec2 인스턴스에 접속하기 위해서는 아래의 명령어가 필요하다.
ssh -i key.pem ec2-user@port
기억하기도 귀찮고 맨날 명령어 사용하기도 귀찮아서 alias를 설정하기로 했다.
alias ec2login="ssh -i key.pem ec2-user@"
이렇게 설정한 후 포트만 뒤에 붙여서 사용하면 될줄 알았지만 뒤는 무시되기 때문에 쉘의 변수를 사용해야했다.
변수를 이용하기 위해 .sh파일을 하나 만들어서 사용하기로 했다.
마음에 두는 곳에 쉘 파일을 하나 만든다.
파일을 작성한다.
alias를 이용해 쉘 파일을 실행시킨다 && 영구 저장
name.sh
식으로 파일을 생성한다.
ec2login.sh
을 생성했다.
port는 변수로 사용해야하기 때문에 먼저 선언해준다.
port=$1
파일에서 변수는 하나만 사용하기 때문에 $1
로 둔다.
port 번호 확인하기 위해 echo로 print한다.
echo login in port $port
key.pem의 위치가 만약에 바뀐다면 찾기도 귀찮고 파일도 바꿔야 하기 때문에 그런 경우를 대비하기 위해 find
를 사용한다.
그리고 그 경로를 이용하기 위해 key.txt에 경로를 저장한다.
find ~/ -name key.pem > ~/key.txt
key 경로를 확인 및 제대로 된 key.pem을 가져왔는지 확인하기 위해 echo를 사용한다.
result=$(cat ~/key.txt)
echo $result
이제 로그인하기 위한 명령어를 사용한다.
ssh -i $result ec2@$port
이용이 끝난다면 key.txt를 삭제한다.
rm ~/key.txt
내 shell 파일이 있는 곳을 찾아서
alias ec2login='bash 파일위치(절대 경로)'
이제 pwd가 어딘지 상관없이 ec2login 인스턴스포트번호
를 사용한다면 접속이 가능하다.
마지막으로 alias 명령어를 터미널이 기억할 수 있게 해줘야한다.
zsh를 사용하기 때문에 .zshrc
를 찾고 그 안에서 alias 설정하는 줄에 가서 저장한다.