개발 기본

SSH(Secure Shell)

SSH는 암호화된 연결로 원격 컴퓨터에 로그인하거나 명령을 실행하는 통신 방식입니다.

쉬운 설명

VPS에 앱을 올린 뒤 로그를 확인하려면 내 컴퓨터에서 서버에 접속해야 할 수 있어요. 이때 터미널에서 ssh 명령으로 원격 컴퓨터의 계정에 로그인할 수 있어요. 연결한 뒤 입력하는 명령은 보통 원격 컴퓨터에서 실행돼요. 같은 터미널 창이어도 지금 어느 컴퓨터를 조작하고 있는지 확인하는 것이 중요해요.

이런 상황에서 만나요

스터디 봇이 멈춰서 AI가 “서버에 SSH로 접속해 상태를 확인해 보세요”라고 안내했다고 해 볼게요. 아래는 접속 전후에 실행 위치를 확인하는 예시예요.

접속 전후에 명령이 실행되는 컴퓨터가 달라져요

설명용 화면
1내 컴퓨터에서 접속
ssh study@server.example.com
2원격 접속 후 위치 확인
study@study-server:~$ hostname
study-server
3접속 종료
study@study-server:~$ exit
Connection closed.
  1. 1study는 원격 계정, 뒤쪽은 접속할 서버 주소의 예시예요.
  2. 2hostname 결과로 현재 명령을 실행하는 컴퓨터를 확인해요.
  3. 3원격 셸을 종료하고 내 컴퓨터의 터미널로 돌아오는 예시예요.
SSH 터미널을 재구성한 설명용 화면입니다. 계정·주소·출력은 가상 값이며 실제 인증 과정과 표시 문구는 환경마다 다릅니다.

접속에는 서버 주소, 사용자 이름, 허용된 인증 수단이 필요해요. 아래 명령의 주소와 계정은 가상 값이에요. 처음 연결할 때 서버의 식별 정보를 확인하는 메시지가 나오면 관리 화면 등 신뢰할 수 있는 경로의 정보와 대조해요.

헷갈리기 쉬운 점

SSH 접속 후 입력한 명령은 내 컴퓨터에서 실행되나요?

원격 셸에 접속한 상태라면 원격 컴퓨터에서 실행돼요. 파일 삭제나 설정 변경 전에는 hostname과 현재 폴더 등을 확인해요. exit로 접속을 종료하면 원래 터미널 환경으로 돌아갈 수 있어요.

개인 키는 로그인에 쓰이는 비밀 파일이에요. 채팅이나 저장소에 올리지 않아요. 서버 식별 정보가 바뀌었다는 경고가 나오면 무조건 기록을 지우지 말고 서버 교체나 재설치 여부를 먼저 확인해요.

왜 알아야 할까요?

AI가 알려 준 명령을 엉뚱한 컴퓨터에서 실행하는 일을 줄일 수 있어요. 접속 자체가 실패한 문제와 접속 후 앱 실행이 실패한 문제도 나눠 설명할 수 있어요.

조금 더 자세히

SSH는 Secure Shell의 줄임말입니다. OpenSSH의 ssh 명령은 원격 로그인과 명령 실행을 지원합니다. SSH를 이용한 파일 전송이나 포트 전달도 있지만, 여기서는 원격 셸 접속을 중심으로 설명합니다.

사용자 인증에 쓰는 키와 접속 대상 서버를 확인하는 호스트 키는 역할이 다릅니다. Permission denied 같은 오류는 계정·키·서버의 허용 설정을, 연결 시간 초과는 주소·네트워크·접속 허용 상태 등을 점검하는 출발점으로 삼을 수 있습니다. 오류 문구만으로 원인을 확정하지는 않습니다.

직접 사용할 때 확인해 보세요

  • 서버 주소와 계정·인증 수단을 확인한다
  • 서버 식별 정보를 신뢰할 수 있는 정보와 대조한다
  • 접속 후 실행 위치를 확인하고 작업한다

관계 지도

SSH(Secure Shell) 중심으로 관련 개념의 정의와 관계를 한눈에 정리했습니다.
SSH(Secure Shell)의 정의와 관련 개념 간 관계를 설명한 계층형 그래프