AWS를 공부하면서 터미널로 ssh 접속을 하는 일이 생겼다.
AWS에서 알려주는 장문의 접속 방법을 .pem파일이 있는 폴더로 가서 실행해야 합니다.
sudo chmod 400 {파일명}.pem => 이과정은 권한때문에 처음에 한번만 해줍니다.
ssh -i "{파일명}.pem" {계정명}@{host 주소}
이런 작업이 처음엔 뭔가 하는거 같아 잼있었지만 이젠 싫다.
그래서 구글에서 간단하게 접속을 하는 방법을 찾아봤다.
내가 까먹을까봐 정리합니다. ㅎㅎ
우선 AWS에서 .pem 파일의 저장소를 확인하고 다음 명령어를 통해서 .ssh 폴더로 이동합니다.
cd ~/.ssh
그 다음 이 폴더에 사용할 .pem 파일을 다음 명령어로 .ssh 폴더로 복사합니다.
cp "{파일 패스}/{파일명}.pem" ./
이 과정까지만 해도 많은 일이 줄어듭니다. 우선 .pem 파일이 존재하는 폴더가 아닌 곳에서 AWS ssh 접속을 하려고하면 .pem 파일을 명시할때 경로를 적어줘야 하지만 .ssh폴더세 .pem파일을 복사하고 나면 어느곳에서나 경로는 필요없이 파일명만 하면 됩니다.
ssh -i "{파일 경로}/{파일명}.pem" {계정명}@{host 주소}
=> ssh -i "{파일명}.pem" {계정명}@{host 주소}
많이 간단해 졌습니다... 근데 사람이란게 참 간사합니다. ㅎㅎ
이것도 귀찮아 졌고 싫습니다. 터미널에서 위로가기 화살표 누르면서 찾기도 싫습니다.
그래서 구글에서 또 방법을 찾아봤습니다. 그리고 더 간단히 할 방법을 찾았습니다.
그것은 .ssh/config 파일에 접속 정보를 저장해 두는 겁니다.
그러면 어디서든지 짧은 명령어로 접속이 가능합니다. 어디서든지 "ssh ConnectionSSH"로 접속이 가능하게 만들어 보겠습니다.
우선 .ssh/config파일을 생성합니다. 다음 명령어를 사용하면 생성이 가능한데 이미 생성이 되어있다면 파일을 열어줄거고 없으면 새로 생성을 할겁니다.
sudo nano ~/.ssh/config
그리고 다음과 같은 화면이 나오고 이곳을 편집하면 가능합니다.
상세 내용은 다음과 같습니다.
Host ConnectionSSH
HostName {호스트 주소}
User {사용자 계정}
IdentityFile ~/.ssh/{파일명}.pem OR {파일 경로}/{파일명}.pem
IdentityFile의 첫번 째 경우는 위 내용에서 .pem파일을 .ssh 폴더로 복사했을 경우에 사용하고, 두번째 경우는 특절 폴더에 .pem파일이 있을 경우입니다.
이 다음에 ssh 접속을 위해서 다음과 같은 짧은 명령어만 필요합니다. !!!!!
ssh ConnectionSSH
접속 잘 되시나요?!!!!!!
만약 권한 때문에 접속이 안된다고 하면 다음 명령어로 접속 권한을 변경해줍니다.
chmod 440 ~/.ssh/config
이렇게 길지도 않고 짧지도 않게 ssh 접속에 관해서 알아 봤습니다.
많은 도운주신 블로그 감사드립니다.
더 좋은 정보 공유하도록 노력하겠습니다.
!! 참고 사이트
http://haruair.com/blog/2219
http://icheeze.tumblr.com/post/89641763956/아마존-ec2-서버에-ssh-로-접속하기
http://wingsnote.com/53