RHCSA -- Configure and secure SSH

carlkim·2024년 8월 8일

RHCSA

목록 보기
4/4
post-thumbnail

SSH (stands for Secure shell)

shell은 linux system으로가는 인터페이스를 제공한다.
내 커맨드를 번역해서 하드웨어를 관리하는 커널에 전달한다.

ls나 pwd, cp 같은 명령을 받으면 쉘이 커널로 명령으를 전달하여 하드웨어를 컨트롤한다.

$ 일반 유저면 달러가
'# 루트 사용자면 샾이

ssh 서비스 기본 포트는 22.

ssh configuration

Idle Timeout Interval 기능 설정

-- root 권한 얻기 --

Idle timeout은 컴퓨터 시스템, 네트워크 장비, 또는 소프트웨어에서 비활성 상태가 일정 시간 지속될 때 자동으로 연결을 종료하거나 세션을 종료하는 기능

설정 전 백업 필수

cp /etc/ssh/sshd_config /etc/ssh/sshd_config-orig
vi /etc/ssh/sshd_config

shift + g 를 눌러 제일 밑으로 간다.

아래 값을 추가한다.

# Setting timeout interval

ClientAliveInterval 600
ClientAliveCountMax 0
-         

재설정

systemctl restart sshd

루트 로그인을 불가능하게 만드는 방법

어떤 사용자도 루트로 로그인 불가능.

지금은 yes로 되어있는데 no로 바꾸면 바뀐다.

vi /etc/ssh/sshd_config

재설정

systemctl restart sshd

Empty Password 비활성화

To Prevent remote logins from accounts with empty passwords

EmptyPasswords 부분 주석을 제거하면 된다

vi /etc/ssh/sshd_config

재설정

systemctl restart sshd

Limit Users'SSH Access

특정 유저만 접근할 수 있게 해준다.

vi /etc/ssh/sshd_config

아래를 추가해준다.

AllowUsers user1 user2

재설정

systemctl restart sshd

Use a different Port

기본으로 ssh Port는 22번이다. 해커들이 22번 포트를 찾아다니기 때문에 ssh 포트를 22번이 아닌 다른 포트로 바꾸면 조금 더 안전 해줄 수 있다.

vi /etc/ssh/sshd_config

Port 22 가 보이는가?
주석(#)을 제거하고 원하는 포트를 입력하면 된다.

재설정

systemctl restart sshd

이렇게하면 22포트로는 못들어간다.
putty를 쓸때 ssh 포트를 다시 지정해야한다.

SSH-Keys - Access Remote Server without Password

리모트 머신에 접근하는 두가지 이유

  1. 반복적인 로그인 (힘들잖아)

  2. 스크립트를 통한 자동화 (권한 문제)

-- 반복적인 인증문제와 권한 문제를 해결하기 위해 SSH-KEY를 만들어서 접속한다. --

특징

Key들은 유저레벨에서 생성된다. (root or other users..)

테스트

서버 한대와 클라이언트 하나가 있으면 된다.

본래 같으면 ssh 로 접속하면 username과 password를 입력해서 들어간다.
하지만 여기서는 아니다.
client가 ssh-key를 생성한다. (Copy over the Keys from client to server)
그리고 서버에 ssh-key를 전달한다.
그 후 클라이언트가 ssh-key를 사용하여 server에 접속한다.

예를 들면 사람이 집에 들어갈 때 비밀번호를 입력하고 들어가는데.(정석 ssh 접근)
ssh-key 방식은 인증을 담당하는 담당자에게 열쇠를 넘겨주고 뱃지같은 것을 보여주면서
확인 절차를 대신하는 것.

몇 단계를 걸쳐야지

Client 가 해야하는 일

Step 1 - Generate the Key

ssh-keygen

Step 2 - Copy the Key to the server

ssh-copy-id root@[serverip주소]

Step 3 -- Login from client to server

ssh root@[serverip주소]
ssh -l root serverip주소
profile
기본부터 가면 됩니다.

0개의 댓글