안녕하세요!
오늘은 Amazon EC2 Centos 8 을 설치하고, 세션 레코딩 기능을 확인해볼 예정입니다. ;)
SSH접속을 전부 녹화할수 있는 기능이에요!!!!
처음부터 따라할 수 있도록 Amazon EC2 설치부터 차근히 스탭스탭 따라해봅시다!
여기에서 Cockpit-Session Recording 공식 문서를 확인할 수 있습니다.
1. Amazon EC2 생성하기
인스턴스 생성 단계입니다.
Amazon EC2 운영 경험이 있다면 이 부분은 넘어가셔도 좋습니다. 😁
여기에서 생성하는 Amazon EC2 (CentOS8) 인스턴스는 기본 VPC에 설치되며, 네트워크 및 보안 설정에 대한 내용은 다루지 않습니다.
먼저, 이번 단계에서는 Amazon EC2를 생성합니다.
AWS EC2 콘솔에서 "인스턴스 시작"을 클릭합니다.

AMI 선택 단계입니다. 여기서 중요한데요!
CentOS 8을 검색하고, AWS Marketplace 에서 "Centos 8 - Basic Installation" 을 선택하세요 :)

선택하면 아래 사진처럼 구독에 대한 팝업창이 뜨는데, 다음으로 넘어갑니다.

인스턴스 유형 선택 단계입니다.
저는 여기에서 t3.medium 인스턴스 타입을 선택했습니다.
이후 "검토 및 시작"을 클릭합니다.
* 주의, t2.small 외에는 프리티어가 적용되지 않아 비용이 발생합니다.!

검토 페이지에서 설정이 올바른지 확인 후 "시작하기"를 클릭합니다.

키 페어 선택 팝업입니다.
여기에서 반드시 가지고있는 키 페어를 선택하사고, 기존 키페어가 없다면, 새로 만들어주세요.

인스턴스 시작 후 몇분이 지나면, 아래 사진과 같이 인스턴스가 실행 상태가 됩니다.
이제 이 인스턴스의 퍼블릭 IP주소를 복사하고, 이 인스턴에 SSH 접속 합니다.

윈도우의 경우 Putty를 일반적으로 사용하지만 Cmd창에서 SSH 명령어도 사용 가능합니다.
저는 MAC OS를 사용하므로, 터미널에서 아래와 같이 SSH 커멘드로 접속하겠습니다.

접속 까지가 완료 되었으면, 이제 다음 단계로 넘어갑니다 :)
2. Cockpit 설치하기
Amazon EC2에는 기본적으로 Cockpit이 설치되어있지 않습니다.
Cockpit 은 CentOS GUI 웹 콘솔이라고 볼 수 있습니다. 여기에서 Cockpit 공식 문서를 확인할 수 있습니다.
아래 명령어를 따라서 실행하여 Cockpit 을 설치합니다.
[ec2-user@ip-172-31-10-202 ~]$ sudo dnf install cockpit -y
설치가 완료 되면, Cockpit을 활성화 합니다.
[ec2-user@ip-172-31-10-202 ~]$ sudo systemctl enable --now cockpit.socket
이제 Cockpit 서비스를 시작하고, Status 를 확인하여 잘 올라왔는지 확인합니다 :)
[ec2-user@ip-172-31-10-202 ~]$ sudo systemctl start cockpit
[ec2-user@ip-172-31-10-202 ~]$ systemctl status cockpit

여기까지가 이번 단계 스탭입니다 :)
다음 단계로 넘어갑니다.
3. Session Recording 설치 및 설정하기
이제, 세션 레코딩 설치를 진행하겠습니다.
여기에서 공식 문서를 확인할 수 있습니다.
아래 명령어 처럼 tlog, sssd, cockpit-session-recording, systemd-journal-remote 패키지를 설치하고,
rpm -qa 로 잘 설치되었는지 확인합니다.
설치가 완료 되었다면, 아래 사진과 같은 결과가 보입니다.
[ec2-user@ip-172-31-10-202 ~]$ sudo dnf install tlog -y
[ec2-user@ip-172-31-10-202 ~]$ rpm -qa | grep tlog

[ec2-user@ip-172-31-10-202 ~]$ sudo dnf install sssd -y
[ec2-user@ip-172-31-10-202 ~]$ rpm -qa | grep sssd

[ec2-user@ip-172-31-10-202 ~]$ sudo dnf install cockpit-session-recording -y
[ec2-user@ip-172-31-10-202 ~]$ rpm -qa | grep cockpit-session-recording

[ec2-user@ip-172-31-10-202 ~]$ sudo dnf install systemd-journal-remote -y
[ec2-user@ip-172-31-10-202 ~]$ rpm -qa | grep systemd-journal-remote

설정 파일 하나만 생성해주도록 하겠습니다. Session_recoding, Sope=all 로 설정해줍니다.
[ec2-user@ip-172-31-10-202 ~]$ sudo vi /etc/sssd/conf.d/sssd-session-recording.conf
[ec2-user@ip-172-31-10-202 ~]$ sudo cat /etc/sssd/conf.d/sssd-session-recording.conf
[session_recording]
scope=all
users=ec2-user, root

설치가 끝났으니, cockpit을 다시한번 재시작한 후 확인해봅니다.
[ec2-user@ip-172-31-10-202 ~]$ sudo systemctl restart cockpit
[ec2-user@ip-172-31-10-202 ~]$ sudo systemctl status cockpit

이제 완료 되었습니다 :)
다음 단계로 넘어갑니다.
4. 테스트 하기
테스트를 위해서는 Root Password를 생성해줘야 합니다.
먼저, passwd 명령어로 루트 패스워드를 설정합니다.
[ec2-user@ip-172-31-10-202 ~]$ sudo passwd root

그리고 녹화가 잘 될지 확인해봐야 하기 때문에, SSH로 접속 해서 이것 저것 해봅시다.
새로운 터미널 창을 열어서 SSH접속 해봅니다.
"ATTENTION! Your session is being recorded!" 이라고 나오네요 :)
이러면 성공입니다. 접속해서 아무거나 해보세요!!
ssh -i AWS-ImmersionDay-Lab.pem ec2-user@52.78.217.71

* 만약 위와 같이 나오지 않는 경우에는 OS를 재시작 해봅니다.
( 명령어: sudo reboot, sudo init6)
이제 웹브라우저로 이동합니다.
EC2의 공인IP, 포트는 9090입니다!

로그인 페이지가 보이네요 :)
여기에서 root 유저로 로그인 합니다. (비밀번호는 아까 변경한걸로 넣어주세요!)

왼쪽 네비게이션 바에 Session Recording 을 클릭합니다.
그리고 목록에 보이는 세션 목록 중 아무거나 클릭해봅시다.

이 세션으로 들어가면, 세션에 접속해서 했던 모든 작업을 동영상으로 확인할 수 있습니다.

여기까지!
완료입니다 :) 고생하셨습니다.