반응형

AWS에서 공식지원하는 ubuntu나 centos의 경우는, root계정 외에 ubuntu, centos 계정을 각각 세팅해서 설치가 되게 되는데,

AWS 중국에서 제공하는 OS라던지 공식지원하지 않는 OS를 설치한 경우에는, Key를 등록하고 SSH접속을 시도해도,

암호를 물어보는 경우가 있고, root 계정만 만들어서 나오는 경우가 있다.


최근 centOS를 깔았더니, root계정만 생성해서 발급되는 경우가 생겼고, 패스워드를 물어봐서 헤맸었기 때문에,

공식 지원하는 centOS처럼 centos 계정을 생성하고, 패스워드를 물어보지 않도록 변경해보았다.


1. 유저 생성하기 (ubuntu의 경우는 useradd -m 으로 계정을 생성해야 home폴더 아래에 계정 폴더가 생성됨)

$ useradd centos


2. private key를 복사 (root 계정으로)

$ mkdir -p /home/centos/.ssh
$ cp ~/.ssh/authorized_keys /home/centos/.ssh
$ chown -R centos.centos /home/centos/.ssh


3. sudo권한 지급 (Optional)

$ vi /etc/sudoers.d/**-cloud-init_users   # 파일명이 다를수도 있는데, 보통 하나만 들어있다.

가장 아랫줄에 아래와 같은 키워드를 추가해주자.

centos ALL=(ALL) NOPASSWD:ALL


$ visudo

마찬가지로 가장 아랫줄에 아래 키워드를 추가해준다.

centos ALL=(ALL) NOPASSWD:ALL


4. SSH 접속 시 패스워드 물어보지 않게 설정

$ vi /etc/ssh/sshd_config
PasswordAuthentication yes # 이 부분을 찾아서 no로 바꿔준다. 주석이 걸려있다면 주석 해제


5. root 계정으로 접근 막기 (Optional)

$ vi /etc/ssh/sshd_config
PermitRootLogin yes # 이 부분을 찾아서 no로 바꿔준다. 주석이 걸려있다면 주석 해제


6. sshd 데몬 재시작

$ service sshd restart


7. 생성한 계정의 패스워드가 만료되지 않도록 설정 (중요함)

$ chage -E -1 -M 99999 centos


이제 접속해보면 centos로 접근이 가능하고, sudo -i 로 root 권한 획득을 할 수 있으며, 최초에 패스워드도 물어보지 않도록 세팅이 되었다.

최근에 7번 항목을 진행을 안해서 EC2에 아예 접근이 불가능한 상황이 생겼어서, 7번항목을 추가함;; 다행히 remote command가 날라가서 머신은 유지한채로 살림. 7번은 필수로 진행을 해야한다.

반응형
,