aws 프리티어를 사용하게 돼서 공부차원으로 적어보려고 한다.
우선 EC2 > 인스턴스 > 인스턴스 시작 버튼을 눌러 인스턴스 생성페이지로 이동한다.
그럼 os 및 메모리 등 알맞게 설정하고
중요한 부분은 키 페어 생성하여 등록하고 네트워크 설정에 ssh 트래픽 허용을 체크해준 뒤 생성하면 된다.
인스턴스 생성이 완료되었다면
터미널에 ssh -i ***.pem [username]@[ip주소]를 입력하여 접속한다.
> ssh -i C:\Users\***\key.pem ubuntu@xxx.xxx.xxx.xxx
접속 후 apt 먼저 업데이트 해준다.
> sudo apt update
그 다음 mysql-server를 다운로드 한다.
> sudo apt install mysql-server
설치가 완료되었다면 mysql 서버에 접속한다.
> sudo mysql -u root
root 비밀번호가 설정되어 있지 않으니 먼저 설정해주자.
mysql> ALTER user 'root'@'localhost' IDENTIFIED BY '[비밀번호]';
그리고 새로운 계정을 생성해주자
mysql> CREATE USER '[계정이름]'@'%' IDENTIFIED BY '[비밀번호]';
[참고]
'localhost' : 내부 접속 허용
'%' : 외부 접속 허용
'xxx.xxx.xxx.xxx'(ip 주소) : 특정 ip주소 허용
ip주소와 %를 혼용하여 사용할 수 있다.
ex 192.168.% -> 192.168로 시작하는 모든 ip주소 허용
DB 생성하고 위에서 만든 계정에 DB권한을 준다.
mysql> CREATE DATABASE [DB 이름];
mysql> GRANT ALL PRIVILEGES ON [DB 이름].* TO '[계정이름]'@'%';
위에서 변경한 설정을 적용한다
mysql> FLUSH PREVILEGES;
마지막으로 방화벽 해제하면 끝
> sudo ufw allow mysql
adduser vs useradd
맨날 헷갈림
useradd : 홈 디렉토리를 자동으로 생성안함
adduser : 홈 디렉토리 자동으로 생성함
아무튼 adduser로 계정을 생성한다.
> adduser newuser
새로 생성한 계정에 root 권한을 부여한다.
sudo visudo
root ALL=(ALL:ALL) ALL 아래에
newuser ALL=(ALL) ALL 추가
같은 key pair로 로그인 할 수 있도록 ubuntu의 .ssh 디렉토리를 newuser 계정으로 복사시키기
sudo cp -r /home/ubuntu/.ssh/ /home/hwkim/.ssh/
복사한 key pair 소유자를 newuser로 변경 (-R:하위 폴더까지 모두 소유권을 바꿔줌)
sudo chown -R newuser:newuser /home/newuser/.ssh
마지막으로 재시작하면 끝
sudo service ssh restart
***.pem 방식으로 로그인 하기싫어서 sshd_config 파일의
PasswordAuthentication yes로 바꾸고 재시작도 몇번 했는데 왜 안되는지 모르겠다.
[참고]
https://jongmin92.github.io/2016/09/20/Linux%20&%20Ubuntu/add_user/#google_vignette