본문 바로가기
해킹 기초지식

SSH(Secure Shell, Secure Socket Shell)

by whiteTommy 2023. 11. 20.

SSH

: 원격 서버(컴퓨터)에 연결할 수 있도록 해주는 암호화된 네트워크 프로토콜이다.

  • 사용법 : Terminal에서 ssh user@Host -p Port -i [개인 키 파일 경로] 명령어를 통해 사용할 수 있다.

여기서, user는 접속할 계정(사용자 이름)이며, Host는 접속하려는 원격 서버의 ip 또는 도메인이다. 특정 포트로 접속하고 싶은 경우 -p 옵션을 이용한다.

 

 

클라이언트가 접속하기 전에 사용자가 믿을 만 한지에 대한 인증이 필요하다. 2가지가 있다.

  1. 패스워드로 인증: ssh user@Host 명령어를 통해 패스워드를 입력한 뒤 원격 서버에 접속할 수 있다.
  2. 공개 키-개인 키 쌍으로 인증: ssh-keygen 명령어를 통해 원격 서버에 공개 키(public key)를 저장하고, 클라이언트가 개인 키(private key)를 지정하여 검증하여 접속할 수 있다. 여기서, 개인 키 파일을 이용하여 원격 서버에 접속할 때, -i 옵션을 이용한다. 
    • 개인 키-공개 키 쌍을 생성하게 되면 기본적으로 아래 경로에 생성된다.
      • ~/. ssh / id_rsa (개인 키)
      • ~/. ssh / id_rsa.pub (공개 키)

 

아래는 SSH 사용 예시이다.

 

1. 패스워드로 접속

Host: host3.dreamhack.games
Port: 11051/tcp → 31337/tcp
ssh with 
id: bguser
pw: bgpw

 

ssh 서버에 대한 user와, password가 주어져 있으므로, 다음과 같이 원격 서버에 접속한다.

ssh bguser@host3.dreamhack.games -p 11051

 

이후에, password로 bgpw를 입력한다.

 

2. 개인 키로 접속

Host: host3.dreamhack.games
Port: 11051/tcp → 31337/tcp
ssh with id: bguser

 

ssh 서버에 대한 user만 주어져 있으므로 개인 키 파일을 다운을 해서 서버에 접속한다.