본문 바로가기

[웹] AWS(Amazon Web Services) 서버, 웹사이트 만들기! - 2 (SSH)

by alphabet 2023. 5. 31.

이제 서버에 어떻게 연결하고 웹사이트를 만드는지 알아보자.

일단 SSH가 뭔지부터 알아보자.

SSH는 Secure Shell의 약자로, 네트워크를 통해 다른 컴퓨터에 로그인하거나 원격 컴퓨터에서 명령을 실행하는 데 사용되는 프로토콜이다. SSH는 암호화 기술을 사용하여 네트워크를 통해 전송되는 데이터를 보호하므로, 안전하게 원격 작업을 수행할 수 있다. 또한, 데이터의 무결성과 신뢰성을 확인하기 위한 기능도 제공한다.
이때 1에서 만든 접속에 사용되는 키를 SSH 키라고 부른다.

1. VS code(Visual Studio Code) 실행

요런 화면이 나올 것이다.

2. Remote Development 설치

SSH 연결을 위해 필요한 단계이다.

Extensions>Remote Development>Install 을 누르면 된다.

3. SSH 연

Remote Explorer>SSH>+를 눌러주면 SSH를 연결하는 창이 뜬다!
이제 Hostname을 어디서 찾는지 알아야 하는데

1에서 만든 AWS 인스턴스에 들어가서 파란색으로 표시된 인스턴스 ID 부분을 눌러주면

밑에 퍼블릭 IPv4 DNS 주소가 뜰것이다. 그걸 그대로 붙여넣어주면 된다.

그 후 config 파일이 만들어질텐데 다음과 같이 작성해주자.

Host {name}
    HostName {EC2 instance public IP or DNS}
    User {username}
    IdentityFile {/path/to/your/key.pem}

예를 들면 아래와 같이 설정해주면 된다.

Host myEC2
    HostName ec2-18-123-45-67.us-west-2.compute.amazonaws.com
    User ec2-user
    IdentityFile /Users/username/.ssh/myec2-key.pem

IdentityFile은 1에서 만든 key의 경로를 복사해서 붙여주면 되는데, \가 아니라 /로 바꿔줘야 함에 유의하자.


AWS EC2 인스턴스의 경우, 인스턴스를 처음 생성할 때 선택한 AMI(Amazon Machine Image)에 따라 User가 결정된다.
Amazon Linux AMI: ec2-user
RHEL5 AMI: root 또는 ec2-user
Ubuntu AMI: ubuntu
Fedora AMI: fedora
SUSE AMI: root 또는 ec2-user
CentOS AMI: centos

우리는 ec2-user를 써주면 되는 것이다.

다음으로 
VS Code에서 Ctrl+Shift+P를 눌러 Command Palette를 연 다음, "Remote-SSH: Connect to Host..."를 선택하고 설정한 호스트명 (위 예제에서는 'myEC2')을 선택한다.

이렇게 하면 VS Code가 EC2 인스턴스에 SSH로 접속하게 된다.

이제 원격으로 코드 작업을 진행할 수 있게 된 것다.

왼쪽 아래 초록색 부분에서 myEC2 SSH에 연결했다는 사실을 알 수 있다.

다음 시간에 코드를 작성하고 이를 모두가 볼 수 있는 웹사이트에 올려보도록 하자.