본문 바로가기
SpringBoot Server

SSH Terminal Commands

by ssury94 2025. 1. 19.

🌐 SSH란 무엇인가요?

SSH(Secure Shell)는 네트워크를 통해 원격 시스템에 안전하게 접속하기 위한 프로토콜입니다. 주로 서버 관리, 원격 파일 전송, 보안 터널링 등에 사용되며, 데이터를 암호화하여 안전한 통신을 보장합니다.

🎯 SSH의 주요 특징

  1. 보안성 강화 🔒
    SSH는 암호화를 통해 데이터 전송 중 발생할 수 있는 스니핑 공격을 방지합니다.
  2. 다양한 인증 방식 🔑
    비밀번호 인증
    공개 키 인증 (보안성과 편의성 향상)
  3. 다양한 활용 💻
    원격 서버 접속 및 제어
    파일 전송 (SCP, SFTP)
    포트 포워딩 및 터널링
  4. 크로스 플랫폼 지원 🌍
    리눅스, macOS, Windows 모두에서 사용 가능

🖥️ SSH 기본 사용법

터미널 명령어 예제에서 $ 기호 

터미널 명령어 예제에서 $ 기호는 일반적으로 명령줄 프롬프트를 나타냅니다.
$는 일반 사용자의 프롬프트를 의미합니다.
반면, #는 루트 사용자의 프롬프트를 나타냅니다.

 

  1. 원격 서버 접속 예:
    $ ssh user@example.com
    $ ssh [사용자 이름]@[서버 주소]

  2. 특정 포트를 지정하여 접속 예:
    $ ssh -p [포트 번호] [사용자 이름]@[서버 주소]

  3. 공개 키를 이용한 접속
    로컬에서 공개 키 생성:$ ssh-keygen -t rsa -b 4096

    공개 키를 서버에 추가:
    $ ssh-copy-id user@example.com

    이후 비밀번호 없이 접속 가능:ssh user@example.com
  4. 파일 전송
    SCP를 이용한 파일 업로드: 
    scp 파일명 user@example.com:/원격/경로

    SCP를 이용한 파일 다운로드:
    scp user@example.com:/원격/파일/경로 로컬경로

🌟 SCP(Secure Copy Protocol)란?

SCP(Secure Copy Protocol)는 SSH(Secure Shell)를 기반으로 동작하는 파일 전송 프로토콜입니다. 로컬 컴퓨터와 원격 서버 간, 또는 두 서버 간에 안전하게 파일을 복사할 수 있도록 설계되었습니다. SSH의 암호화 기능을 사용하므로 파일 전송 중에도 데이터가 안전하게 보호됩니다.

 

🛠️ 터미널 기본 명령어 모음

📂 디렉토리 및 파일 관리

  • 현재 디렉토리 확인:
    $ pwd
  • 디렉토리 목록 보기:
    $ ls
    -l: 상세 정보 포함 (ll)도 가능
    -a: 숨김 파일 포함
  • 디렉토리 이동:
    $ cd [디렉토리 경로] 
    예) $ cd /var/www/html
  • 디렉토리 생성:
    $ mkdir [디렉토리 이름]
  • 파일 삭제:
    $ rm [파일 이름]
  • 디렉토리 삭제:
    $ rm -r [디렉토리 이름]

📄 파일 내용 확인 및 편집

  • 파일 내용 보기:
    $ cat [파일 이름]
  • 텍스트 파일 실시간 확인:
    $ tail -f [파일 이름]
  • 파일 편집:
    $ vi [파일 이름]
    $ nano [파일 이름]

🛠️ 시스템 관리

  • 현재 사용자 확인:
    $ whoami
  • 시스템의 현재 시간 확인:
    $ date
  • 현재 실행 중인 프로세스 확인:
    $ ps -aux
  • 서버 종료 또는 재부팅:
    $ sudo shutdown -h now      #즉시 종료 
    $ sudo reboot       # 재부팅

💾 패키지 관리 (Ubuntu/Debian 기준)

  • 패키지 업데이트:
    $ sudo apt update
  • 패키지 업그레이드:
    $ sudo apt upgrade
  • 패키지 설치:
    $ sudo apt install [패키지 이름]
  • 패키지 삭제:
    $ sudo apt remove [패키지 이름]

🔐 sudo란 무엇인가요?

sudo는 "Superuser Do"의 약자로, 일반 사용자가 임시로 관리자(루트) 권한을 사용할 수 있도록 해주는 명령어입니다.

🎯 sudo의 주요 특징

  1. 권한 관리:
    • 루트 계정에 직접 로그인하지 않고도 관리자 작업을 수행할 수 있습니다.
  2. 안전성:
    • 비밀번호를 요구하며, 설정된 시간(기본 15분) 동안만 관리자 권한을 유지합니다.
  3. 로그 기록:
    • sudo 명령은 로그에 기록되어 보안 및 감사 용도로 사용됩니다.

 

🎉 마무리

SSH와 터미널 명령어는 서버 관리와 개발 작업의 필수 도구입니다. 꾸준히 익히고 활용하면 효율적이고 안전한 작업 환경을 구축할 수 있습니다.