서버 접속하기
SSH란?
Secure Shell Protocol, 원격 호스트에 접속하기 위해 사용되는 보안 프로토콜
ssh s<ID>@machine IP -p <port number>
기존 원격 접속은 ‘텔넷(Telnet)’이라는 방식을 사용했는데, 암호화를 제공하지 않기 때문에 보안상 취약하다는 단점이 있었다. 실제로 WireShark같은 패킷 분석 프로그램을 이용하면 누구나 쉽게 원격 접속 과정에서 옮겨지는 비밀번호나 파일 내용 등의 데이터를 탈취할 수 있다. 때문에 이를 암호화하는 SSH 기술이 등장했고, 현재 원격 접속 보안을 위한 필수적인 요소로 자리잡고 있다.
출처: https://library.gabia.com/contents/infrahosting/9002/
작동원리
SSH는 대칭키/비대칭키 암호 방식으로 작동
- 보안 접속을 통한 rsh, rcp, rlogin, rexec, telnet, ftp 등을 제공.
- IP spoofing (IP스푸핑, 아이피 위/변조 기법중 하나)을 방지하기 위한 기능을 제공.
- X11 패킷 포워딩 및 일반적인 TCP/IP 패킷 포워딩을 제공.
SFTP란?
원격 서버에서 파일을 가져오는 프로토콜
SSH 프로토콜을 기반으로 실행되며 SSH의 모든 보안 및 인증 기능을 지원.
sftp -P <your port> s<ID>@<machine IP> get <file name>
Kernel이란?
운영체제는 크게 커널과 셸로 나눌 수 있다.
커널(Kernel, 알맹이)은 운영체제의 핵심 기능인 하드웨어 관리를 실제로 수행하는 프로그램이다.
커널은 소프트웨어와 하드웨어 간의 커뮤니케이션을 관리하며, 시스템이 부팅될 때 메모리에 올라가서 꺼질 때까지 실행된다.
Shell이란?
셸(Shell, 껍질)은 사용자와 운영체제의 커널 사이에서 사용자가 운영체제에 명령을 내릴 수 있는 인터페이스 역할이다.
사용자가 셸에 명령을 입력하면, 셸이 명령어를 해석하여 커널에 요청한다.
커널은 명령을 수행하며 하드웨어를 조작하고, 수행 결과를 셸에 전송한다.
셸은 이 결과를 해석하여 사용자에게 출력한다.
즉, 셸은 명령어를 해석하는 역할을 하여 사용자와 운영체제가 소통할 수 있도록 한다. 셸을 획득하면 명령어를 통해 원하는 작업을 수행하고 시스템을 제어할 수 있게 됨. 따라서 일반적으로 셸을 획득하는 것이 시스템 해킹의 성공
가장 일반적으로 사용되는 셸 중 하나는 "Bash" (Bourne Again Shell)
Linux/Unix Shell Commands
man page
도움말 같은 느낌으로 명령어를 어떻게 사용하는지 알려주는 매뉴얼 페이지
[Linux]리눅스 man 명령어 - man 페이지 사용법, 주요 옵션, 사용 예
man 로컬 시스템에서 여러 참고 문서들을 이용하여 특정 명령이나 자원들의 메뉴얼을 출력하는 영역으로 유닉스에서는 총 8개의 영역으로 되어 있으나 리눅스 커널 부분이 추가되어 총 9개의 영
ihp001.tistory.com
make and remove
mkdir, rmdir - 디렉토리 생성, 삭제
cp - 파일 복사
mv - 파일 이동
rm - 파일 삭제
displaying a file
cat - 파일 읽기, 결합, 생성
less - 파일 읽기, 스크롤, '/'로 string 검색
head, tail - 처음이나 끝 부분 (기본 10줄) 보고자할 때 사용
file permission
r - read only
w - write
x - execute
chmod - 권한 변경
input/output redirection
a | b - a의 output이 b의 input
a > b - a의 output을 b에 덮어쓰기
a >> b - a의 output을 b에 추가하기
a < b - b를 읽기
grep - 특정한 문자열 찾기
'C' 카테고리의 다른 글
[시스템프로그래밍] ls, file과 directory (0) | 2023.10.12 |
---|---|
[시스템프로그래밍] who, cp, buffering (0) | 2023.10.11 |
[시스템프로그래밍] 가상화, 리눅스, WSL2와 Ubuntu 차이 (0) | 2023.10.10 |
[자료구조] 불완전한 형식은 사용할 수 없습니다 오류 해결 | typedef (4) | 2023.05.17 |
[자료구조] 포인터 응용 (0) | 2023.03.17 |