AWS EC2 사용이 당연시 되는 요즘,,,!
ubuntu로 서버를 설정했다면 초기에 해야 되는 설정들이 매번 할 때마다 기억이 나질 않아 정리하게 되었습니다!!
ec2 인스턴스 생성부터 설명을 적기엔 내용이 길어지고 다양한 자료들이 있으니 생략하겠습니다!
우선, 발급받은 ssh pem key를 이용해서 배포된 EC2 서버에 원격 접속합니다. 터미널에 접속해주세요!
pem key가 저장된 경로로 이동 후 권한을 변경해주어야 합니다.
chmod 400 {PEM KEY 파일명}
ssh 원격 접속 하기.
ec2 - 인스턴스 - 연결 - ssh 클라이언트에 있는 명령어를 복사해 실행합니다.
ssh -i "{pem key 파일 명}" {사용자 ID}@{퍼블릭 IP 혹은 도메인}
pem key는 RSA 알고리즘 방식으로 생성된 aws에서 제공해주는 공개키입니다.
sudo dpkg-reconfigure tzdata
# 위 명령어 입력한 후 Asia -> Seoul에서 각 엔터 쳐서 확인!!
# 확인 명령어
date
more /etc/timezone
호스트명 변경
sudo hostnamectl set-hostname --static {설정할 호스트명}
# 재접속 시 변경
exit
/etc/hosts/에 호스트명 등록
sudo vim /etc/hosts

127.0.0.1 옆에는 다 지우고 호스트명으로 변경해줍니다.
jobs
위 명령어로 현재 백그라운드에서 돌아가고 있는 파일을 확인한뒤
jobs
>>
# 실행중인 목록
[1]+ Running ~~
# 중지된 목록
[2]- stopped ~~
포그라운드로 옮기기
fg %{인덱스}
위 명령어로 벡그라운드에 돌아가고 있는 프로그램을 가져올 수 있습니다.
초기에는 Linux에서는 root 사용자 계정이 활성화되어 있지 않습니다.
그런 이유로, 항상 명령어를 사용할 때 sudo를 붙여줘야 하곤 했죠.
root 계정을 로그인하는 것으로 해결이 가능합니다.
sudo passwd root
위 명령으로 root 계정의 초기 패스워드를 설정하면, 앞으로는 비밀번호와 함께 root 계정으로 로그인할 수 있게 되고,
명령 단위가 아닌 세션 단위로 최고 사용자 권한을 사용할 수 있습니다.
$ su -
# 비밀번호 입력
위 명령으로 root 계정에 로그인할 수 있습니다.
배포 서버에 접근하기 위해서 항상 ssh의 기본 포트인 22번포트로 접근을 하게 됩니다.
하지만 22번은 누구나 아는 ssh포트이기 때문에 보안 취약점이라고 볼 수 있죠.
이를 해결하기 위해 접속 포트를 변경하도록 하겠습니다.
$ sudo vi /etc/ssh/sshd_config
sshd_config 파일을 편집기로 열어보면,
Include /etc/ssh/sshd_config.d/*conf
#Port 22
#AddressFamily any
여기서 #Port 22 부분을 주석 해제하고, 이후 사용할 새로운 포트로 변경해줍니다.
(포트는 0~65535번 사이로 설정이 가능하지만, 보통 8000번까지는 약속된 포트가 있기 때문에 그 보다 큰 숫자로 설정해주어야 합니다.)
Include /etc/ssh/sshd_config.d/*.conf
Port {원하는 포트}
#AddressFamily any
이제 ssh 서비스를 재시작하면 적용될 것입니다.
$ sudo service ssh restart
추가로, aws 내 보안그룹에서 인바운드 규칙에서 포트를 추가해주어야 합니다!!
이제 기존 SSH 포트인 22번 포트의 접근을 막기 위해 Ubuntu Firewall(ufw)을 설정해주어야 합니다.
# 방화벽 상태 확인 명령어
sudo ufw status verbose
Status: inactive
# 22번 포트 방지
sudo ufw deny 22
# 설정 포트 승인
sudo ufw allow {설정 포트}