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

프로그래밍/운영체제, 서버 2018. 4. 3. 20:29
반응형

앞에서 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 포트를 변경하는 방법도 알아 봤습니다.


반응형

댓글을 달아 주세요