본문 바로가기

클라우드 공부

내부 서버 사용자 데이터를 이용하여 SSH 접속

클라우드에 대해 공부해보고자 인프런의 "AWS 클라우드 서비스 인프라 구축 이해와 해킹, 보안" 강의를 수강하면서 필기한 내용입니다.

내부 서브넷의 서버에 접속하는 방법

  1. SSH키를 Public쪽에 옮겨서 내부 IP에 접속 → 보안 위협
  2. SSH를 옮기지 않고, 포워딩으로 내부 IP에 접속
  3. 내부에 서버 인스턴스를 생성할 때, SSH root계정 생성

인스턴스 생성

실습을 위해 public환경과 private 환경의 인스턴스를 생성해야 한다.

바쁘기도 하고 오류가 나서 못올리기도 했지만 이전에 CloudFormation으로 VPC 생성할 때 만들어진 서브넷들을 사용해야 합니다

public 인스턴스 생성

생성 완료

칼리 리눅스에 키 권한 등록

Private 인스턴스 생성

이후 인스턴스 생성화면 아래에 고급 세부 정보가 있다

더 아래로 내리면 ‘사용자 데이터’라는 항목이 존재한다.

이 부분은 인스턴스를 만들고 난 뒤 인스턴스에 어떤 것을 스크립트 형식으로 자동으로 정의할 것을 지정할 수 있다.

이곳에 내부에 서버 인스턴스를 생성할 때. SSH root 계정을 생성하는 것이다.

아래 스크립트문을 복사에 붙여넣기 한다.

Copy
#!/bin/bash

(

echo "qwe123"

echo "qwe123"

) | passwd --stdin root

sed -i "s/^PasswordAuthentication no/PasswordAuthentication yes/g" /etc/ssh/sshd_config

sed -i "s/^#PermitRootLogin yes/PermitRootLogin yes/g" /etc/ssh/sshd_config

service sshd restart

접속 확인

public에 접속

이제 public 환경에서 private에 접속해보겠다.

프라이빗 ip를 사용하여 접속할 것이다.

그러나 최종적으로 접속이 안된다…

이것 때문에 진도를 못나갔었다.

아시는 분 계신다면 도움 주시면 감사하겠습니다.