서버(리눅스)

우분투(Ubuntu) 22.04 LTS / root 계정 원격으로 로그인하기(SSH) - 아과노트

아과노트 2023. 2. 25. 09:00
728x90
반응형

부제: root 계정 access denied 처리하기. /etc/ssh/sshd_config 수정

 

안녕하세요, 아과입니다.

 

오늘의 주제는 추천하지는 않지만 root로 로그인 가능하게 하는 부분입니다.

 

root는 기본적으로 원격으로 접속이 불가능하게 되어 있어서 root로 로그인하면 아래와 같이 뜹니다.

root account : access denied
root 계정 access denied

root : Access denied

권한이 없다고 하는데요, 이 부분을 수정하기 입니다.

 

다음과 같은 과정으로 진행됩니다.

 

  1. root 계정을 원격접속 하는것을 비추하는 이유
  2. ssh 설정파일 백업: cp /etc/ssh/sshd_config /etc/ssh/sshd_config_bk
  3. ssh 설정파일 변경: vi /etc/ssh/sshd_config
  4. ssh 재시작 : sudo service ssh restart
  5. 원격으로 root 로그인 확인
  6. 다시 root 계정 비활성화 복구: sudo cp /etc/ssh/sshd_config_bk /etc/ssh/sshd_config

 

 

이 글은 이전글에서 이어집니다.

 

2023.02.24 - [분류 전체보기] - 우분투 22.04 LTS / root 암호 변경 / root 계정 활성화

 

 

root 계정은 이렇게 원격으로 로그인하도록 만드는구나 하고 알고만 넘어가세요. 설정은 비추합니다.

 

1. root 계정을 원격접속 하는것을 비추하는 이유

 

그 이유는 root를 활성화하면 수많은 공격을 받게 됩니다. 무작위 대입공격인데 root계정을 탈취하기 위해 무작위로 비번을 변경해가면서 넣는 공격을 말합니다. root 계정이 뚫리면 골치아픕니다. 그래서 SSH 로그인할 때는 root를 비활성화 해 둡니다.

 

 

root 계정은 원격으로 SSH로 바로 로그인하지 못하도록 합시다.
root 로그인은 그냥 방법만 알아둡시다
-아과노트-

 

그럼 진행하도록 하겠습니다.

 

2. ssh 설정파일 백업: cp /etc/ssh/sshd_config /etc/ssh/sshd_config_bk

수정을 잘못하거나, 추후 다시 root 계정을 비활성화 하기 위해 설정파일을 백업합니다.

우분투나 리눅스는 윈도우와 다르게 설정변경을 보통 "파일"로 하게 됩니다. 점점 익숙해 지실 것입니다.

 

 

우분투나 리눅스는 윈도우와 다르게 설정변경을 보통 "파일"로 하게 됩니다.
점점 익숙해 지실 것입니다.
-아과노트-

다음 명령어를 입력해 주세요

sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config_bk

sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config_bk

아무 에러메세지 없이 넘어가면 성공한 것입니다.

확인은 ls 명령어로 합니다. ls /etc/ssh를 입력하세요

ls /etc/ssh

 

sshd_config 백업 확인
sshd_config 백업 확인

그러면 sshd_config 외에 sshd_config_bk가 잘 생성되어 있는것을 볼 수 있습니다.

백업을 한 상태에서 설정 진행하겠습니다.

 

3. ssh 설정파일 변경: vi /etc/ssh/sshd_config

 

이제 본격적으로 ssh 설정파일을 변경하겠습니다.

다음을 입력해 주세요

 

sudo vi /etc/ssh/sshd_config

sudo vi /etc/ssh/sshd_config

 

혹시 다음과 같이 표시가 된다면 sudo를 안붙인 것입니다. 애써 수정하고 저장이 안되면 우울하니 꼭 확인합니다.

readonly 주의
readonly 주의

 

vi로 파일을 열었는데 [readonly]가 뜨면 아무리 수정해도 저장이 안됩니다.
애써 수정하고 저장이 안되면 우울하니 꼭 sudo를 붙여서 열었는지 확인합시다
-아과노트-

여기서 #PermitRootLogin prohibit-password이란 글자를 찾아야 합니다.

눈으로 찾아도 되지만 힘드니... "/"키를 입력해서 검색을 합니다.

vi에서 "/" 은 "ctrl + F"와 같습니다.(찾기기능)
-아과노트-

/Perm만 입력해도 #PermitRootLogin prohibit-password로 이동됩니다.

찾았으니 Enter를 눌러서 찾기모드를 나갑니다.

vi에서 글자 찾기 기능
vi에서 글자 찾기 기능

이제 커서가 이동되었으면 "insert"키를 눌러서 편집모드로 들어갑니다.

설정파일에서 #은 주석과 같습니다.

주석을 해제하고, #을 지워줍니다. 그리고 prohibit-password는 yes로 수정해 줍니다.

각 옵션의 세부내용은 아래와 같습니다.

# PermitRootLogin yes : root 원격 접속 가능
# PermitRootLogin no : root 원격 접속 불가능
# PermitRootLogin prohibit-password : root 원격접속에서 비밀번호 로그인은 불가능, key파일 로그인만 가능

# PermitRootLogin yes : root 원격 접속 가능
# PermitRootLogin no : root 원격 접속 불가능
# PermitRootLogin prohibit-password : root 원격접속에서 비밀번호 로그인은 불가능, key파일 로그인만 가능

 

우리는 ID, Password 로그인으로 하기 때문에 yes로 수정해 줍니다.

 

수정하고, 저장하고, 나가기
수정하고, 저장하고 나가기

수정이 완료되었으면 ":wq"를 입력해서 저장하고 나갑니다.

 

4. SSH 재시작 : sudo service ssh restart

재시작은 간단합니다.

다음과 같이 입력해 보세요. 아무 에러메세지 안뜨면 성공한 것입니다.

 

sudo service ssh restart

sudo service ssh restart

5. 원격으로 root 로그인 확인

 

이제 새롭게 putty를 열어서 root계정으로 로그인해 봅니다.

root 계정 로그인 성공
root 계정 로그인 성공

root로 로그인한 것을 성공했습니다.

 

6. 다시 root 계정 비활성화 복구

: sudo cp /etc/ssh/sshd_config_bk /etc/ssh/sshd_config

이제 다시 재빠르게 원복을 해 볼께요.

 

sudo cp /etc/ssh/sshd_config_bk /etc/ssh/sshd_config

백업한 파일로 다시 원복하면 됩니다.

아래와 같이 입력하세요!!

 

sudo cp /etc/ssh/sshd_config_bk /etc/ssh/sshd_config

sudo cp /etc/ssh/sshd_config_bk /etc/ssh/sshd_config

 

sshd_config 파일 원복하기
sshd_config 파일 원복하기

그리고 다시 서비스를 재시작하면 됩니다.

 

sudo service ssh restart

sudo service ssh restart

 

그리고 다시 putty를 켜서 root로 로그인하면

원복 확인
원복확인

다시 권한없음으로 나옵니다.

원복을 성공했습니다.

 

오늘은 여기까지 입니다.

고생하셨습니다.

728x90
반응형