지금까지 WinSCP를 통해 매번 EC2에 접속을 해왔다. 하지만 이렇게 접속을 하는 것은 WinSCP 설정 등 매우 귀찮다.
물론, 파워쉘에서 ssh -i keyfile user@ip
명령어를 사용해서 수동 접속을 해도 되지만 매번 입력하기 귀찮다. 따라서 SSH를 접속을 편하게 하기 위하여 설정을 진행할 예정이다.
ssh -i keyfile user@ip
파워쉘에서 위 명령어를 입력하면 EC2 인스턴스에 접속할 수 있다. 이때, keyfile에 들어가는 것은 EC2 pem키이다. 만약 키 파일명이my-key.pem
이면 ssh -i my-key.pem처럼 keyfile 위치에 파일명을 넣으면 된다.
마찬가지로, user@ip 역시 user에는 ubuntu와 같은 사용자명과 ip에는 EC2 인스턴스의 eip나 public ip를 입력하면 된다.
먼저 cmd 창에 cd ~/.ssh
라는 명령어를 통해 .ssh 디렉터리로 이동한다. 이때 주의해야 할 점은, EC2 인스턴스의 pem 키 역시 ssh로 복사를 했어야 한다.
위와 같이 .pem
파일이 있어야 한다.
윈도우 파워쉘에서는 chmod
명령어가 먹히질 않는다. 따라서 해당 경로(C:\Users\유저명\ .ssh)로 직접 디렉터리를 연다.
그 후 pem 파일을 선택하여 속성을 누른다.
그리고 좌측 상단의 보안
탭으로 이동한다.
그리고 우측 하단의 고급
버튼을 누른다.
이때 우리는 pem 파일에 chmod 600
에 해당하는 권한을 주고 싶다. 즉, 사용자
가 읽기와 쓰기만 가능하도록 하고 싶다. 그러면 맨 아래의 유저만을 제외하고 모두 삭제해야한다.
하지만, 보안주체를 누르고 삭제를 누르면 삭제가 안 되고 위와 같은 에러문만 뜬다.
그러므로 사용하지 않는 개체들은 좌측 하단의 상속 사용 안 함
버튼을 눌러 해제시킨다.
그럼 위와 같이 빈 화면이 되므로 좌측 하단의 추가
버튼을 누른다.
그 후, 사용자에게 읽기와 쓰기 권한만 주고 확인을 누른다.
그러면 사용자만 사용이 가능하게 되었다.
파워쉘에서 vim config
라는 명령어를 통해 파일 생성 및 편집기를 연다.
# 주석
Host (접속할 때 사용할 명령어)
HostName (EC2 public ip나 eip)
User ubuntu
IdentityFile ~/.ssh/키명.pem
와 같이 작성 후 저장한다. 이때, 정보들을 입력할 때 괄호를 제외하고 입력한다.
만약 위의 config
파일에서 접속할 때 사용할 명령어를 myEC2
라고 입력했다고 생각하자. 그러면 ssh myEC2
로 접속하면 된다. 즉, ssh (접속할 때 사용할 명령어)
를 입력하면 자동으로 접속된다.
위의 이미지는 접속 예시이다.