할것
서버를 셋팅하면 기본 아이디는 root이다. 보안상 안좋으니 다른 아이디로 바꾸고 ssh 로그인이 되도록 해보자
환경
우분투 16.04
내용
1. 먼저 서버에 접속 후 새 유저를 만든다.
$ adduser newuser
당연한 이야기지만 여기서 newuser는 본인이 생성하고자 하는 유저의 이름이다. 유저를 생성할때 이것저것 물어보는데 비밀번호만 대충 입력하고 나머지는 킵해도 된다.
2. 그런다음 새로 만든 유저에 루트 권한을 추가한다.
$ usermod -aG sudo newuser
하는김에 언어 설정을 한다
$ vi /etc/default/locale
다음 파일을 찾아 아래와 같이 수정한다.(각 행의 마지막칸에 빈칸이 포함되지 않도록 한다)
LANG="en_US.UTF-8"
LANGUAGE="en_US.UTF-8"
LC_ALL="en_US.UTF-8"
그다음 재부팅 한다
$ reboot
3. 다음으로 로컬로 돌아와서 SSH 키를 복사할 차례다. 이게 뭔지 모르면 구글에 "SSH 생성"을 검색하시오.
4. 다시 서버로 돌아와 새로 만든 아이디로 로그인 한다.
5. 로그인 후 ssh 폴더를 생성 하고 권한을 설정한다.
6. 설정 후 authorized_keys 파일을 생성 후 아까 복사한 키를 복사한다.
$ vi ~/.ssh/authorized_keys
파일을 생성했으면 아까 로컬에서 복사한 ssh 키를 붙여 넣는다.
붙여 넣었으면 해당 파일의 권한을 또 설정해 줘야 한다.
$ chmod 600 ~/.ssh/authorized_keys
7. 마지막으로 루트 계정의 로그인을 막으면 끝
루트 계정은 누구나 다 아는 만인의 아이디이기 때문에 해당 아이디로 로그인 하는 것을 막아야 한다. 원래 대로라면 패스워드 로그인도 제한 하고 SSH 로그인만 허용해야 하는데 디지털 오션을 사용한다면 이미 설정되어 있기때문에 넘어가면 된다.
서버에 접속 후 sshd_config 파일을 수정한다
$ vi /etc/ssh/sshd_config
해당 파일안에 PermitRootLogin 항목을 no로 변경해 주면 된다. (아마 yes로 되어 있을 것이다)
변경 후
$ sudo systemctl reload sshd
이제 ssh newuser@111.111.111.111 로 접속이 가능할 것이다!!!
참조 : https://www.digitalocean.com/community/tutorials/initial-server-setup-with-ubuntu-16-04
PS. 이 작업은 매우 민감한 작업으로 여차하면 루트 로그인도 안되는 수가 있다.
꼭 테스트 서버를 하나 만들어서 작업해 보기를 강력히 추천하는 바이다.
본인도 이거 하면서 3번 서버 삭제함
'개발관련' 카테고리의 다른 글
홈페이지에 SNS 공유하기 기능 구현 (0) | 2018.08.20 |
---|---|
Docker + ROR + Nginx 에 SSL 적용하기 (0) | 2018.08.17 |
개발 문서, 어떻게 작성하는게 좋을까? (0) | 2018.07.18 |
맥 한대에서 두개의 깃허브 계정 사용해서 작업하기 (0) | 2018.06.05 |
테스트 코드 작성의 가장 큰 장점 (0) | 2018.06.01 |