meong_j
기록하는 습관.
meong_j
전체 방문자
오늘
어제
  • 분류 전체보기 (176)
    • 개인 공부 정리 (0)
    • 서버 운영 (37)
      • Linux (36)
    • Frontend (11)
      • Vue.js (10)
    • Backend (70)
      • Java (4)
      • Python (22)
      • Django (38)
      • Spring (6)
    • Database (5)
      • Oracle (4)
      • MySQL (1)
      • MariaDB (0)
    • Android (14)
      • Kotlin (6)
    • 배포 (9)
      • Docker (8)
      • AWS (1)
    • IT_study (29)
      • Coding test (17)
      • 알고리즘 (5)
      • 스터디 (6)

블로그 메뉴

  • 홈
  • 태그
  • 방명록
  • github

인기 글

반응형

태그

  • cpu사용률
  • 개발자도서
  • Proxy
  • gabagecollecter
  • 안드로이드adaptor
  • router-link
  • DHCP
  • dp #알고리즘
  • dockersecret
  • 테크커리어
  • SASS Variables
  • django
  • 코틀린자료형
  • docker
  • 이차원배열정렬
  • Kotlin
  • 리눅스방화벽
  • 리눅스인증
  • 중첩라우트
  • 배포인프라

최근 댓글

최근 글

250x250
hELLO · Designed By 정상우.
meong_j

기록하는 습관.

Linux 시스템 보안 ssh 관리 및 명령어 (원격 접속)
서버 운영/Linux

Linux 시스템 보안 ssh 관리 및 명령어 (원격 접속)

2021. 10. 15. 14:27
728x90
반응형

리눅스의 모든 프로그램들의 소스가 공개되어 있기 때문에 악의적인 목적을 가진 해커들의 공격 대상이 될 수 있다.

그에 따라 관리자가 지속적인 관심을 가지고 업데이트 및 보안에 대한 설정을 하여 보안을 강화해야 할 필요성이 있다.

 

 

시스템 보안 관련 명령어(SSH)

 

1. ssh (Secure Shell)

원격 시스템에 로그인하여 명령을 실행하는 프로그램으로 telnet과 사용법이 유사하다. telnet은 패킷의 내용을 유출당할 수 있지만, ssh2는 ssh1을 개선한 것으로 이중-암호화 RSA 키 교환을 비롯하여 다양한 키- 교환 방법을 지원한다.

 

 

2. ssh의 특징

  • 패킷을 암호화 하여 telnet이나 rlogin에 비해 안전
  • 패스워드 입력 없이 로그인 가능
  • rsh처럼 원격 쉘 지원
  • 원격 복사(scp) 지원
  • 안전한 파일 전송(sftp) 지원

 

3. ssh 설치

리눅스에서는 ssh 공개버전인 openssh를 사용하는데, SSH서버와 SSH 클라이언트 프로그램으로 나뉘어져 있다.

패키지명 설명
openssh openssh서버와 openssh 클라이언트에 모두 필요한 핵심적인 파일들이 들어 있는 패키지
ssh-keygen 명령이 있음
openssh-server openssh 서버 관련 패키지
sshd, sftp 서버 등이 들어있음
openssh-clients openssh 클라이언트 관련 패키지
ssh,scp, sftp 등의 명령어 들어 있음

 

 

4. ssh 서버 설정

/etc/ssh/sshd_config

Port : ssh 서버 포트 지정
AddressFamily any : 접속하는 ip주소 버전 지정, any는 IPv4와 Ipv6 주소 체계모두 접근 가능
ListenAddress ::    : sshd 데몬이 허가하는 주소 설정
Protocol [프로토콜 버전] : ssh 프로토콜의 버전 지정
PermitRootLogin [yes/no] : root 로그인 허용 여부 결정, yes는 root 접속 가능하고 보안강화를 위해 no로 설정
등 등.. 

ssh 서버의 환경 설정파일이다. ssh_confing 파일 내 주요 설정 항목들이 많이 있다.

 

[사용 예시]

# vi /etc/ssh/sshd_config

# PermitRootLogin  no 로 vi 편집기 변경

-> ssh 서버를 통해 로그인하는 root계정의 접근을 차단하려고 한다.

 

ssh 서버 명령어

systemctl start sshd.service

ssh 서버를 실행할때의 명령어이다.

 

 

5. ssh 클라이언트 명령어

ssh [option] [호스트명] or [IP주소]

-l : 다른계정으로 접속할때 사용
-p : ssh 서버의 포트번호가 22번이 아닌 겨우 바뀐 번호 포트 지정
ssh [계정이름]@[호스트네임]
> 다른계정으로 접속할때 사용
ssh [호스트네임] [명령]
> 접속없이 명령만 내릴때 사용

 

[사용 예시]

ssh 클라이언트에서 ssh서버인 192.168.12.22로 접근하는 과정이다.

 

# ssh posein@192.168.12.22

# ssh -l posein 192.168.12.22

-> 현재 lin사용자로 로그인되어 있는 상태이다. posein 사용자로 계정을 변경해서 접근한다.

 

# ssh -p 180 192.168.12.22

-> ssh 서버의 포트 번호가 180번으로 변경된 경우에 접근하는 명령

 

# ssh 192.168.12.22 mkdir data

-> ssh 서버의 홈 디렉터리에 data 디렉터리를 생성하는 명령

 

 

 

인증키를 이용한 ssh 서버 접속(ssh-keygen)

ssh-keygen [option]

-l : 사용할 암호화 알고리즘 지정 (rsa, dsa 등) , ssh2버전에서 미지정시 rsa 사용

ssh서버를 접속 할때 패스워드를 입력하여 접속하지만, 인증키를 이용하여 접속 할 수 있다.

ssh 클라이언트에서 ssh-keygen 명령을 이용하여 비밀키와 공개키를 생성하고, ssh서버에 공개키를 복사하면 된다.

 

 

[사용 예시]

# ssh-keygen

-> ssh 서버에 키 인증을 위해 ssh 클라이언트에서 관련 키 쌍을 생성하는 명령

 

# ssh-keygen -t dsa

-> DSA를 이용하서 인증키 생성

반응형

'서버 운영 > Linux' 카테고리의 다른 글

리눅스 su, sudo 명령어 및 visudo로 root 권한 설정하기  (0) 2021.10.15
리눅스 커널 설정 sysctl 명령어  (0) 2021.10.15
Linux 시스템 로그(Log) 관련 파일 및 명령어(rsyslog, logrotate)  (1) 2021.10.15
리눅스 RAID 구성 및 명령어 mdadm  (0) 2021.10.13
리눅스 LVM 구성 및 명령어 (PV, VG, LV)  (0) 2021.10.13
    '서버 운영/Linux' 카테고리의 다른 글
    • 리눅스 su, sudo 명령어 및 visudo로 root 권한 설정하기
    • 리눅스 커널 설정 sysctl 명령어
    • Linux 시스템 로그(Log) 관련 파일 및 명령어(rsyslog, logrotate)
    • 리눅스 RAID 구성 및 명령어 mdadm
    meong_j
    meong_j
    #it #개발일기 #개발공부 #개발자 #백앤드 #생각정리 #시간은 실력에 비례한다 #뭐든지 꾸준히 열심히 #오늘의 내가 내일의 나를 만든다

    티스토리툴바