본문 바로가기
프로그래밍/운영체제, 서버

CentOS 7 사용자 추가, SSHD 설정, SSH client PUTTY 사용하기

by pentode 2018. 4. 3.

앞에서 CentOS 7을 최소 설치 했을 때, root 계정만 만들었습니다. 이제 일반 사용자를 추가 합니다. 보통 원격에서 작업할 때 보안상 root 로 바로 로그인 해서 작업을 하지는 않습니다. 일반 계정으로 로그인 해서 필요한 경우 su 명령으로 root 로 계정을 변경해서 작업을 하게 됩니다.


1. 사용자 추가 하기 위해서 먼저 그룹을 추가하고, 사용자를 추가 합니다.


- 그룹을 추가합니다.


# groupadd devteam

 

- /etc/group 파일에 정보가 추가됩니다. 파일 포맷은 다음과 같습니다.

 

devteam:x:1000:
그룹명:그룹비밀번호:그룹UID:콤마(,)로 분리된 그룹에 속한 사용자들의 아이디

 

위에서 그룹비밀번호가 x 인 이유는 보안을 위해 비밀번호파일을 따로 관리하기 때문입니다.

 

- 그룹 비밀번호 파일명은 /etc/gshadow 입니다. 파일 포맷은 다음과 같습니다.

 

devteam:!::
그룹명:암호화된 비밀번호:그룹관리자 아이디:콤마(,)로 분리된 그룹에 속한 사용자들의 아이디

 

암호 필드에 느낌표(!) 가 있으면 다른 그룹의 사용자가 newgrp 명령으로 이 그룹의 권한을 갖지 못하게 합니다.

 

- 그룹 비밀번호를 지정하는 명령입니다.


# gpasswd

 

- 다른 그룹의 권한으로 변경하는 명령입니다.

 

# newgrp 그룹명


- 사용자를 추가합니다. 사용자 기본 설정 정보는 /etc/default/useradd 파일에 있습니다.

 

# useradd -g devteam devuser

 

devteam 그룹을 가지는 devuser 를 생성합니다.  많이 사용되는 추가 옵션은 다음과 같은것이 있습니다.

* d : 홈 디렉토리 지정 (기본값은 /home)
* s : 기본 shell 지정 (기본값은 /bin/bash)


/etc/default/useradd 파일의 내용입니다.

 

GROUP=100
HOME=/home
EXPIRE=
SHELL=/bin/bash
SKEL=/etc/skel
CREATE_MAIL_SPOOL=yes

 

사용자가 생성된 후 사용자에게 주어지는 기본 환경설정파일이 /etc/skel 폴더에 존재합니다.

 

- /etc/passwd 파일에 정보가 추가 됩니다. 파일 포맷은 다음과 같습니다.

 

devuser:x:1000:1000::/home/devuser:/bin/bash
사용자아이디:비밀번호:UID:GID:GECOS:홈디렉토리:Shell

 

비밀번호에 x 가 있으면 암호화된 비밀번호 파일은 /etc/shadow 파일에 저장됩니다. GECOS 정보는 예전에는 사용자의 이름과 전화번호들이 저장되었었는데, 보안목적으로  요즘에는 비워둡니다.


- 추가 한 사용자의 비밀번호를 설정 합니다.

 

# passwd devuser

 

/etc/shadow 파일에 정보가 추가 됩니다. 파일 포맷은 다음과 같습니다.

 

devuser:암호화된 비밀번호:17172:0:99999:7:::

 

* 아이디
* 암호화된 비밀번호 - 암호화된 비밀번호 부분에 * 가 있으면 로그인 할 수 없습니다.
* 비밀번호를 마지막으로 바꾼 날이 (1970년 1월 1일로부터) 며칠째의 날인지 나타내는 항목.
* 최소 며칠이 지난 뒤에 패스워드를 바꿀 수 있는지를 나타내는 항목 (0이면 언제든지 바꿀 수 있다는 의미)
* 비밀번호를 반드시 바꿔야 하는 날로 부터 며칠이나 지났는지를 나타내는 항목 (99999 는 무지무지 오랫동안 비밀번호를 바꾸지 않았다는 것을 나타낸다)
* 비밀번호가 만기가 되었음을 며칠 동안 사용자에게 계속 주의를 줄 것인지 나타내는 항목 (1주일 동안 알려주려면 7)
* 비밀번호가 만기가 되어서 계정이 사용불가가 된지 며칠이나 되었는지 나타내는 항목
* 계정이 사용불가가 된 것이 1970년 1월 1일부터 계산하여 며칠째였는지 나타내는 항목
* 미래의 사용을 위해서 잡아둔 항목

 

Linux 사용자 추가

 

 

2. SSH 설정을 확인합니다.

netstat 명령으로 현재 SSH 22 포트 확인합니다. 최소 설치만 한 상황에서 22번 포트와 25번 포트가 열려 있는것이 보입니다. 22번 포트가 SSH(Secure Shell) 포트이고, 25 포트는 SMTP(Simple Mail Transfer Portocol) 포트 입니다. 메일 프로그램을 postfix 가 설치되어 있습니다.

 

# netstat -nalt


또는

 

# ss -nalt

 

SSH 설정 확인

 


3. SSH 클라이언트인 PUTTY 를 설치합니다. http://kldp.net/iputty/release/ 에서 설치 파일을 다운로드 받습니다. (2873-HangulPuTTY-0.60h.setup.exe)

 

putty 설치

 

 

4. 서버에 연결합니다.


- 서버의 IP를 확인합니다.

 

# ifconfig

 

ifconfig

 

- PUTTY 를  실행하고 연결 정보를 입력합니다.

 

putty 연결 정보

 

- 로그인 정보를 입력해서 로그인 합니다.

 

Linux 로그인

 


5. 보안 목적으로 SSH 포트를 변경하는 방법 입니다.


- SSH 설정 파일 에서 포트를 변경합니다.

 

# vi /etc/ssh/sshd_config

 

#Port 22 로 되어 있는 부분을
Port 3001 # 원하는 포트로 변경합니다.


- SELinux 명령을 설치합니다.(semanage 명령을 설치합니다.)

 

# yum install policycoreutils-python

 

- SSH 포트로 3001을 추가합니다.


# semanage port -a -t ssh_port_t -p tcp 3001


- SSH 서비스를 재시작 합니다.

 

# service sshd restart

 

- 파이어월에서 포트를 열어 줍니다.

 

# firewall-cmd --permanent --zone=public --add-port=3001/tcp
# firewall-cmd --reload

 

- PUTTY 를 사용하서 3001 포트를 접속해 봅니다.


- 앞에서 추가했던 포트를 삭제하는 방법 입다.

 

# firewall-cmd --permanent --zone=public --remove-port=3001/tcp
# firewall-cmd --reload
# semanage port -d -t ssh_port_t -p tcp 3001

 

사용자를 추가하고 원격에서 SSH 클라이언트로 접속하는 방법을 알아 봤습니다. 또 필요시 SSH 포트를 변경하는 방법도 알아 봤습니다.

반응형