코딩항해기

[기초] 안전한 원격 접속 표준 SSH 본문

기타/기초 지식

[기초] 안전한 원격 접속 표준 SSH

miniBcake 2024. 12. 27. 13:14

 

 

SSH

SSH(Secure Shell)는 네트워크 프로토콜의 일종으로, 컴퓨터와 컴퓨터가 인터넷과 같은 공공 네트워크를 통해 서로 통신할 때 보안적으로 안전하게 통신을 하기 위해 사용된다. 마치 두 컴퓨터 간에 안전한 터널을 만들어 그 속에서 통신하는 것과 같다.

 

SSH의 작동 원리

SSH는 공개키와 개인키라는 한 쌍의 키를 사용하여 통신한다. 공개키는 자물쇠와 같고, 개인키는 그 자물쇠를 열 수 있는 열쇠와 같다. 공개키는 말 그대로 공개해도 괜찮은 키로, 이를 통해 데이터를 암호화할 수 있다. 하지만 암호화된 데이터는 오직 개인키를 가진 사람만이 복호화할 수 있다.

 

SSH의 주요 용도

  1. 원격 서버 접속: 물리적으로 멀리 있는 서버에 안전하게 접속하여 관리할 수 있다.
  2. 파일 전송: SCP나 SFTP를 통해 파일을 안전하게 주고받을 수 있다.
  3. 원격 명령 실행: 서버에 직접 방문하지 않고도 필요한 명령을 실행할 수 있다.

 

주요 명령어

키 생성 ssh-keygen SSH 키 쌍(공개키/개인키) 생성
기본 접속 ssh user@host 지정된 호스트에 접속
포트 지정 ssh -p port user@host 특정 포트로 접속
키 파일 지정 ssh -i key_file user@host 특정 키 파일을 사용하여 접속
파일 전송 scp file user@host:path 파일을 원격 서버로 전송
키 복사 ssh-copy-id user@host 공개키를 서버에 등록

 

SSH 보안의 중요성

데이터 암호화

모든 통신 내용이 암호화되어 전송된다.

 

무결성 검사

전송되는 데이터가 중간에 변조되지 않았음을 보장한다.

 

인증

접속하는 사용자와 서버가 실제 본인이 맞는지 확인한다.

 

SSH 설정과 관리

SSH 설정은 크게 클라이언트 설정과 서버 설정으로 나뉜다. 클라이언트 설정은 주로 ~/.ssh/config 파일에서 관리되며, 자주 접속하는 서버의 정보를 저장할 수 있다. 서버 설정은 /etc/ssh/sshd_config 파일에서 관리되며, 보안 정책과 접속 제한 등을 설정할 수 있다.

 

좋은 SSH 사용 습관

강력한 키 사용

최소 4096비트 RSA 키 사용한다.

 

패스프레이즈 설정

키 파일 자체를 암호로 보호한다.

 

정기적인 키 교체

보안을 위해 주기적으로 키를 새로 생성한다.

 

불필요한 접속 제한

필요한 사용자에게만 접속 권한 부여한다.

'기타 > 기초 지식' 카테고리의 다른 글

[기초] 문자 인코딩  (0) 2024.12.30
[기초] 데브옵스 DevOps  (0) 2024.12.29
[기초] Node.js 패키지 관리자, npm yarn  (0) 2024.12.23
[기초] 터미널 기본 명령어  (0) 2024.12.22
[기초] CAPCHA (+ 기타)  (0) 2024.12.12