정보보안

SSH key , tunnel

qk2275 2026. 6. 22. 06:14

원격 root 접속차단

서버(새싹밭)  클라이언트(sevas-1)

 

root 원격접속 막기

 

ssh로 이동 후 sshd 설정파일인 sshd_config 를 열어준다

 

 

permitrootlogin  no 로 설정 후 저장

 

ssh데몬 재시작

푸티를 한개 더 실행 후 서버에서 root 로그인시 로그인 실패 확인

 

 

sevas로 로그인 후 su - 로 root 로그인

 

 

정리

- root 를 열어두면 위험하기 때문에 막아둔다.

 

 


특정유저 관리자 권한부여

 

관리자권한 파일 검색

setuid 파일로 실행시 root 권한으로 실행되는 파일

 

su 파일 그룹을 관리자 그룹으로 변경

 

 

wheel = 관리자 그룹

소유권 변경시 setuid 가 풀림

chmod 4750 으로 다시 setuid 주기

 

sevas에게 관리자사용권한 부여

 

유저 test1 생성

 

sevas 로그인

 

test1 로그인

sevas , test1 로 로그인 해 각각 확인

 

 

정리

- root 를 열어두면 위험하기 때문에 특정유저에게 관리자권한 ( wheel ) 을 부여
- root 원격접속을 막아두면 공격자가 root 비밀번호를 알고 있어도 권한상승 , 접속 을 막을 수 있음

 

 


 

ssh 키

클라이언트로 ssh접속

새싹밭에서 클라이언트로 접속하기 위해 공개키 교환을 할거냐고 물어보는 것

 -yes 하면 클라이언트로 접속됨

 

공개키를 교환하면 새싹밭에 .ssh 디렉터리가 생성되고 안에 키를 받아올 수 있는 known_hosts 가 생김

 - 키가 꼬여서 접속이 안될땐 known_hosts 를 cat 으로 확인

이름없이 주소만 입력시 내가 접속하고 있는계정으로 상대쪽으로도 접속됨

 - root 로 로그인 하고 있을 시 136 주소에도 root ( 관리자 ) 로 로그인됨

 - sevas 로 로그인 하고 있을 시 136 주소에서도 sevas ( 일반계정 ) 계정으로 로그인

 

 

sevas 계정으로 ssh 접속

특정 계정으로 접속 하고 싶을 시 주소 앞에  -ㅣ 이름

밑에 방법으로도 가능 ( 리눅스에선 밑에방법 더 많이 쓰임)

 

 

 

정리

- 공개키 교환으로 .ssh 디렉터리 생성

 

 


 

파일보내기

 

서버 실습환경만들기
클라이언트 실습 환경만들기

 

지금 상태에서 파일을 scp로 보내면 보내는 사람에 권한으로 상대방에게도 똑같이 적용됨

 - 서버에서 root ( 관리자 권한) 접속상태로 보내면 client 도 root ( 관리자 권한) 권한으로 받아짐

- 서버에서 sevas ( 일반 유저) 접속상태로 보내면 client 는 other 권한으로 받아짐

 

서버에서 sevas ( 일반유저 ) 로 클라이언트 c 디렉터리에 파일전송 시 other는 w 권한이 없어서 업로드 불가

 

scp 로 클라이언트로 server 파일 보내기

 

server파일이 정상적으로 옮겨짐

 

클라이언트 파일 가져오기

이런식으로 파일을 가져올 수도 있음

 

새싹밭에서 client 파일삭제

클라이언트에서 server 파일삭제 후 실습 계속

 

 

새싹밭은 root 원격접속 막아논 상태라 root로 파일을 못 가져옴

그래서 sevas 권한으로 들어가서 파일 가져오기

 

 

정리

- 내보내도 될 파일 안되는 파일에 따라 파일 권한을 다르게 줌

 

 


 

SSH키 생성

새싹밭 root 원격접속 막아둔거 해제

 

키생성

접속하려는 사람이 키 생성

 

키 확인

 

 

서버에서 해줘야될 설정

 

서버쪽 .ssh 파일만들기

mkdir 로 .ssh 를 만들면 권한이 기본권한인 755로 만들어 지기 때문에 700 으로 바꿔준다

.ssh파일이 755로 되어 있으면 리눅스에 strictmodes 검사 시 에러가 생기기 때문

 

sshd 설정파일

 

ssh_config에서 접속자의 공개키로 이름변경

 

 

 

접속자가 서버에 공개키 보냄

 

 

서버에서 키받은거 확인

 

서버 sshd_config 파일 추가변경

패스워드 인증방식 no로 변경

scp로 키를 보내기 전에 password 인증방식을 막으면 scp가 안됨

 

 

설정 후엔 항상 데몬 돌려주기

 

ssh로 서버접속

비밀번호 없이 접속하는거 확인

 

 

 

정리

- .ssh 파일을 mkdir 로 만들 시 반드시 권한 700으로 변경
- 접속자의 공개키 파일명 확인
- password인증방식 확인 ( key 보내기 전에 하면 key가 안보내진다 )

 

 


 

key 이름변경

 

서버 sshd_config 설정

 

서버의 ssh 키 파일명 설정을 수정해준다

데몬재시작

 

 

서버가 가지고있던 접속자 키이름 변경
접속자가 가지고 있는 키 확인

 

접속자 키이름 변경 후 접속자 , 서버 md5sum 으로 키 확인

 - 이름을 변경해줘도 키 내부내용은 안바뀌는거 확인

    = 껍데기만 바뀌고 키는 계속 사용가능

 

 

정리

- 키 이름변경시 sshd_config 설정파일에서 먼저 변경
- md5sum 키확인 명령

 

 


 

local 터미널

- 방화벽을 우회해서 갈때 사용

- 포워딩 할때 사용

 

127.0.0.1

 

localhost

127.0.0.1 과 localhost 는 같은 뜻을 갖고 있다.

그냥 하면 두개 접속 안되는거 확인

 

 

터널링 설정

 

 

자기주소와 포트 쓰고 add 로 추가

뜻 : local 에 4001 포트를 찾으면 192.168.91.130 으로 보내

 

session 으로 이동

 

내가 접속하려는 ip 터널 save 추가

 

 

터널로 접속확인

터널은 접속상태로 유지시켜야 됨

 

 

localhost 4001번포트 접속

4001 포트로 접속되나 확인

127.0.0.1 도 가능

 

localhost 4001포트로 접속

 

 

 

터널을 쓰는이유

클라이언트가 서버에 접속하려 할때 서버에서 방화벽 설정으로 막혀있는경우

포트 우회해서 들어간다

 

이게 발전해서 나온게 vpn

 

 

정리

- 내 사무실에서 다른 회사에 내부망에 접속해야 될때 사용

 

 


원격터미널

 

 

 

원격터미널 실습

 

22포트로 접속

터널설정을 해줘야 됩니다.

 

 

sshd 설정파일 열기

 

 

 

 

 

서버에 설정 후 푸티에서 추가 설정하고 한번 접속해야 됩니다.

 

 

기존 save 한 tunnel load 하고 재설정

source port - 192.168.91.130:5000    =   192.168.91.130:5000 으로 접속하면

Destination - 192.168.91.136:22        =   192.168.91.136:22 로 보내진다.

( 이 전에 열어둔 tunnel 은 꺼야됩니다 )

add 누르면 생성

 

기존 tunnel에 저장 후 푸티에서 터널로 접속

 

 

5000번 포트로 접속

 

 

접속주소 확인

 

.130 으로 접속했는데 실제 접속주소는 .136 확인

 


 

최종정리

 

root 원격접속 차단 및 권한 관리

- sshd_config 파일의 PermitRootLogin no 설정을 통한 직접 접속 통제
- su 명령어 파일에 부여된 SetUID(4000) 속성과 wheel (관리자) 그룹의 역활
모의해킹 방어관점 - root 패스워드가 무차별대입 ( Brute - force ) 등으로 유출되더라도 시스템이 즉각 장악되는 것을 막는 1차 방어선

 

 

 

scp 파일전송 과 권한 상속

- scp 전송 시 목적지에 생성되는 파일의 소유권은 전송을 실행한 유저의 권한을 그대로 상속받음
  ( root가 보내면 파일권한은 root , sevas로 보내면 파일권한은 sevas )

 

 

 

ssh 키 인증

- 비대칭키 구조 : 클라이언트가 키 생성 후 개인키를 소유하고 서버에 공개키를 등록
- 리눅스 보안정책상 .ssh 디렉터리는 700 , authorized_keys 파일은 600 권한이 아니면 인증 거부 됨

 

 

 

ssh 터널링 ( 포트 포워딩 )

모의해킹 방어관점 - 비정상적인 포트연결이나 ssh트래픽을 모니터링하고 차단해야 됩니다.
모의해킹 공격관점 - 네트워크 경계 방어를 뚫어내는 핵심
                             - 내부망 깊숙한 곳으로 침투해서 방화벽을 우회하는 지속적인 백도어( reverse ssh 통로) 를
                               구축 할 때 활용

'정보보안' 카테고리의 다른 글

OSPF  (0) 2026.06.22
DOS / DDOS / DRDOS  (0) 2026.06.05