Debian 8을 사용하여 초기 서버 설정

Debian 8을 사용하여 초기 서버 설정

소개


새 Debian 8 서버를 처음 만들 때 기본 설정의 일부로서 가능한 한 빨리 구성 절차를 밟아야 합니다.이것은 서버의 안전성과 가용성을 향상시키고 후속 조작에 튼튼한 기반을 다질 것이다.

첫 번째 단계 - Root 로그인


서버에 로그인하려면 서버의 공용 IP 주소와 "root"사용자 계정의 비밀번호를 알아야 합니다.서버에 로그인하지 않은 경우 본 시리즈의 첫 번째 강좌How to Connect to Your Droplet with SSH를 따라야 할 수도 있습니다. 이 과정은 상세하게 설명되어 있습니다.
서버에 연결되지 않은 경우 다음 명령을 사용하여 계속 root 사용자로 로그인 (강조 표시된 단어를 서버의 공용 IP 주소로 대체) 하십시오.
  1. ssh [email protected]SERVER_IP_ADDRESS
호스트의 신뢰성에 대한 경고를 받고 루트 인증 (비밀번호 또는 개인 키) 을 제공하여 로그인 과정을 완료합니다.암호를 처음 사용하여 서버에 로그인하면 루트 암호를 변경하라는 메시지가 표시됩니다.

루트 디렉토리 정보


root 사용자는 Linux 환경에서 매우 광범위한 권한을 가진 관리 사용자입니다.루트 계정의 특권이 높아져서 정기적으로 사용하도록 권장하지 않습니다.루트 계정의 고유한 일부 기능은 의외의 변경이라도 매우 파괴적인 변경을 할 수 있기 때문이다.
다음 단계는 사용자 계정을 대체하여 일상적인 업무의 영향 범위를 줄이는 것이다.우리는 당신에게 필요할 때 더 많은 특권을 얻는 방법을 가르칠 것입니다.

2단계 - 새 사용자 만들기


일단 귀하가 root 신분으로 로그인하면, 우리는 새로운 사용자 계정을 추가하려고 합니다. 지금부터 우리는 이 계정으로 로그인할 것입니다.
이 예제에서는 "demo"라는 새 사용자를 만들었지만, 원하는 사용자 이름으로 바꿔야 합니다.
  1. adduser demo
당신은 몇 가지 질문을 받게 될 것입니다. 우선 계좌 비밀번호입니다.
강력한 비밀번호를 입력하면 원하면 다른 정보를 기입할 수 있습니다.이것은 필요하지 않습니다. 건너뛸 필드에서 "Enter"를 클릭할 수 있습니다.

3단계 - 루트 권한


이제 일반 계정 권한이 있는 새 사용자 계정이 생겼습니다.그러나 우리는 때때로 관리 임무를 수행해야 할 수도 있다.
일반 사용자를 종료하고 루트 계정으로 다시 로그인하는 것을 피하기 위해서, 우리는 일반 계정에 소위'슈퍼 사용자'나 루트 권한을 설정할 수 있습니다.이를 통해 일반 사용자는 각 명령 앞에 단어 sudo 를 붙여 명령을 관리할 수 있습니다.

Sudo 설치


Debian 8은 설치되지 않았습니다sudo. 그래서 aptget을 사용하여 설치하겠습니다.
우선, apt 패키지 인덱스를 업데이트합니다.
  1. apt-get update
그런 다음 이 명령을 사용하여 sudo를 설치합니다.
  1. apt-get install sudo
이제 sudovisudo 명령을 사용할 수 있습니다.

Sudo 권한 부여


새 사용자에게 이 권한을 추가하려면 "sudo"그룹에 새 사용자를 추가해야 합니다.기본적으로 Debian 8에서 sudo 그룹에 속한 사용자는 sudo 명령을 사용할 수 있습니다.root로, 이 명령을 실행하면 새 사용자를 sudo 그룹에 추가합니다(강조 표시된 단어를 새 사용자로 대체합니다).
  1. usermod -a -G sudo demo
이제 사용자는 수퍼유저 권한을 사용하여 명령을 실행할 수 있습니다!작동 원리에 대한 자세한 내용은 this sudoers tutorial 를 참조하십시오.

4단계 - 공개 키 인증 추가(권장)


서버 보안의 다음 단계는 새 사용자를 위한 공개 키 인증을 설정하는 것입니다.이 설정을 설정하면 개인 SSH 키 로그인을 요구하여 서버의 보안을 향상시킬 수 있습니다.

키 쌍 생성


SSH 키 쌍(공개 키 및 개인 키로 구성)이 없으면 SSH 키 쌍을 생성해야 합니다.사용할 키가 있으면 공개 키 복사 단계로 이동합니다.
새 키 쌍을 생성하려면 로컬 컴퓨터(컴퓨터)의 터미널에 다음 명령을 입력합니다.
  1. ssh-keygen
로컬 사용자를 "localuser"라고 부르면 다음과 같은 출력을 볼 수 있습니다.
ssh-keygen output
Generating public/private rsa key pair. Enter file in which to save the key (/Users/localuser/.ssh/id_rsa):
return을 누르면 이 파일 이름과 경로를 받아들이거나 새 이름을 입력하십시오.
키를 보호하기 위해 암호 구문을 입력하라는 메시지가 표시됩니다.암호 구문을 입력하거나 비워 둘 수 있습니다.
참고: 암호 구문을 비우면 암호 구문을 입력하지 않고 개인 키를 사용하여 인증할 수 있습니다.암호 구문을 입력하면 로그인하려면 개인 키와 암호 구문이 필요합니다.암호 단어를 사용하여 키를 보호하는 것이 안전하지만 이 두 가지 방법은 모두 각자의 용도가 있고 기본 암호 인증보다 안전하다.
로컬 사용자 홈 디렉터리의 id_rsa 디렉터리에 개인 키 id_rsa.pub 와 공개 키 .ssh 를 생성합니다.개인 키는 서버에 접근할 권리가 없는 사람과 공유해서는 안 된다는 것을 기억하세요!

공개 키 복사


SSH 키 쌍을 생성한 후 새 서버에 공개 키를 복사해야 합니다.우리는 두 가지 간단한 방법을 소개할 것이다.
참고: 물방울 생성 과정에서 SSH 키를 선택한 경우 ssh-copy-id 방법은 Digital Ocean에서 작업할 수 없습니다.SSH 키가 있으면 Digital Ocean이 암호 인증을 사용하지 않고 ssh-copy-id 암호 인증에 의존하여 키를 복제하기 때문입니다.
Digital Ocean을 사용하고 Droplet을 만드는 동안 SSH 키를 선택한 경우 다시 사용하십시오.

옵션 1: ssh 복사본 id 사용하기


로컬 컴퓨터에 ssh-copy-id 스크립트가 설치되어 있으면 로그인 자격 증명이 있는 모든 사용자에게 공개 키를 설치할 수 있습니다.
다음과 같이 키를 설치할 서버의 사용자 및 IP 주소를 지정하여 스크립트를 실행합니다.
  1. ssh-copy-id demo@SERVER_IP_ADDRESS
프롬프트에서 암호를 입력하면 공개 키가 원격 사용자의 ssh-copy-id 파일에 추가됩니다.이제 서버에 해당하는 개인 키를 사용하여 로그인할 수 있습니다.

옵션 2: 열쇠 수동 설치


이전 단계에서 SSH 키 쌍을 생성한 경우 로컬 컴퓨터의 터미널에서 다음 명령을 사용하여 공개 키를 인쇄합니다(.ssh/authorized_keys.
  1. cat ~/.ssh/id_rsa.pub
그러면 다음과 같이 공용 SSH 키가 인쇄됩니다.
id_rsa.pub contents
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDBGTO0tsVejssuaYR5R3Y/i73SppJAhme1dH7W2c47d4gOqB4izP0+fRLfvbz/tnXFz4iOP/H6eCV05hqUhF+KYRxt9Y8tVMrpDZR2l75o6+xSbUOMu6xN+uVF0T9XzKcxmzTmnV7Na5up3QM3DoSRYX/EP3utr2+zAqpJIfKPLdA74w7g56oYWI9blpnpzxkEd3edVJOivUkpZ4JoenWManvIaSdMTJXMy3MtlQhva+j9CgguyVbUkdzK9KKEuah+pFZvaugtebsU+bllPTB0nlXGIJk98Ie9ZtxuY3nCKneB+KjKiXrAvXUPCI9mWkYS/1rggpFmu3HbXBnWSUdf [email protected]
공개 키를 선택하고 클립보드로 복사합니다.

새 원격 사용자에게 공개 키 추가


SSH 키를 새 원격 사용자로 인증하려면 사용자 홈 디렉토리의 특수 파일에 공개 키를 추가해야 합니다.
서버에서 id_rsa.pub 사용자로서 다음 명령을 입력하여 새 사용자로 전환합니다.
  1. su - demo
이제 새 사용자의 홈 디렉토리에 있습니다.root라는 새 디렉토리를 만들고 다음 명령을 사용하여 권한을 제한합니다.
  1. mkdir .ssh
  2. chmod 700 .ssh
에서 파일을 엽니다.ssh는 텍스트 편집기를 사용하여 호출합니다.ssh.nano를 사용하여 파일을 편집합니다.
  1. nano .ssh/authorized_keys
이제 공개 키를 편집기에 붙여넣고 클립보드에 삽입합니다.authorized_keys를 클릭하여 파일을 종료하고 CTRL-X를 클릭하여 변경 사항을 저장한 다음 Y을 클릭하여 파일 이름을 확인합니다.
이제 다음 명령을 사용하여 authorized\u keys 파일에 대한 권한을 제한합니다.
  1. chmod 600 .ssh/authorized_keys
사용자에게 돌아가려면 이 명령을 한 번 입력하십시오ENTER:
  1. exit
이제 SSH를 새 사용자로 로그인하고 개인 키를 인증할 수 있습니다.
키 인증 작업 원리에 대한 더 많은 정보를 얻으려면 이 강좌를 읽으십시오: How To Configure SSH Key-Based Authentication on a Linux Server.

5단계 - SSH 구성


이제 새 계정이 생겼습니다. 루트 계정에 대한 원격 SSH 접근을 금지하기 위해 SSH 데몬 설정을 수정하여 서버를 약간 보호할 수 있습니다.
먼저 구성 파일을 텍스트 편집기의 루트 사용자로 엽니다.
  1. nano /etc/ssh/sshd_config
여기서 SSH를 통해 root 로그인을 비활성화하도록 선택할 수 있습니다.이것은 일반적으로 더욱 안전한 설정이다. 왜냐하면 우리는 현재 일반 사용자 계정을 통해 서버에 접근하고 필요할 때 권한을 업그레이드할 수 있기 때문이다.
원격 루트 로그인을 비활성화하려면 다음과 같이 해야 합니다.
/etc/ssh/sshd\u 구성 (이전)
#PermitRootLogin yes
root 로그인을 비활성화하려면 아래와 같이 이 행을 "아니오"로 수정할 수 있습니다.
/etc/ssh/sshd\u 구성 (이후)
PermitRootLogin no
각 서버에서 원격 루트 로그인을 사용하지 않는 것을 강력히 권장합니다!
변경이 완료되면 앞에서 설명한 방법(root을 사용하고 CTRL-X, 그리고 Y을 사용하여 파일을 저장하고 닫습니다.

SSH 다시 로드


이제 변경되었습니다. 새 구성을 사용하려면 SSH 서비스를 다시 시작해야 합니다.
다음 내용을 입력하여 SSH를 다시 시작합니다.
  1. systemctl restart ssh
현재, 우리가 서버를 로그아웃하기 전에, 우리는 우리의 새로운 설정을 테스트해야 한다.새 연결이 성공적으로 구축될 수 있는지 확인하기 전에, 우리는 연결을 끊고 싶지 않다.
새 터미널 창을 엽니다.새 창에서 서버와의 새 연결을 시작해야 합니다.이번에 우리는 루트 계정이 아니라 우리가 만든 새 계정을 사용하기를 희망한다.
  1. ssh demo@SERVER_IP_ADDRESS
구성한 새 사용자 암호를 입력하라는 메시지가 표시됩니다.그러면 새 사용자로 로그인합니다.
"root 권한으로 명령을 실행해야 할 경우 그 앞에 다음과 같이"sudo"를 입력하십시오.
  1. sudo command_to_run
모든 것이 정상인 경우 다음 내용을 입력하여 세션을 종료할 수 있습니다.
  1. exit

여기서 어디로 갑니까?


이로써 Debian 8 서버에 기반을 다졌습니다.이제 서버에 필요한 소프트웨어를 설치할 수 있습니다.