기본 SSH 명령어를 사용하여 원격 서버에 연결하는 방법

안전한 원격 서버 액세스를 위해 기본 `ssh` 명령어를 마스터하세요. 이 필수 가이드는 사용자 이름, 호스트 주소, 사용자 지정 포트 옵션(`-p`)을 포함한 핵심 구문을 분석합니다. 비밀번호 및 보다 안전한 키 기반 인증(`-i`)을 사용하여 연결을 설정하는 방법을 알아보세요. 새로운 사용자와 관리자에게 완벽한 이 문서는 매번 강력하고 효율적인 연결을 보장하기 위한 실용적인 예제와 필수 문제 해결 팁을 제공합니다.

기본 SSH 명령어를 사용하여 원격 서버에 연결하는 방법

SSH(Secure Shell)는 원격 서버에서 안전한 터미널 세션을 여는 표준 방법입니다. 서버 주소, 사용자 이름 및 유효한 자격 증명이 있으면 기본 ssh 명령어를 사용하여 노트북에서 해당 시스템의 셸로 연결할 수 있습니다.

일반적인 문제는 대개 간단합니다. 잘못된 사용자 이름, 잘못된 포트, 개인 키 누락 또는 이전에 본 적이 없는 서버 호스트 키 프롬프트입니다.

연결을 위한 사전 요구 사항

연결을 시도하기 전에 다음 구성 요소가 준비되었는지 확인하십시오.

  1. SSH 클라이언트: 대부분의 최신 운영 체제(Linux, macOS)는 기본적으로 OpenSSH 클라이언트를 포함합니다. Windows 10/11에도 통합 OpenSSH 클라이언트가 포함되어 있지만, 이전 버전에서는 PuTTY와 같은 타사 응용 프로그램이 필요할 수 있습니다.
  2. 서버 주소(호스트): 원격 시스템의 IP 주소(예: 192.168.1.50) 또는 정규화된 도메인 이름(FQDN, 예: server.example.com).
  3. 사용자 이름: 원격 서버의 유효한 사용자 계정(예: root, ubuntu, jdoe).
  4. 자격 증명: 지정된 사용자의 비밀번호 또는 일치하는 개인 SSH 키 파일.

기본 SSH 명령어 구문

SSH 연결 설정은 간단하고 일관된 구문 구조에 의존합니다. 명령어는 누구인지 어디로 갈 것인지 지정해야 합니다.

핵심 구문 분석

SSH 명령어의 가장 기본적인 구조는 다음과 같습니다.

ssh [옵션] 사용자이름@호스트주소
구성 요소 설명 예시 값
ssh Secure Shell 연결을 시작하는 명령어입니다. -
[옵션] 연결을 수정하는 선택적 플래그(예: 포트, ID 파일)입니다. -p 2222
사용자이름 로그인하려는 원격 서버의 계정 이름입니다. sysadmin
호스트주소 원격 서버의 IP 주소 또는 도메인 이름입니다. 172.31.255.10 또는 webserver.com

기본 포트에 연결

기본적으로 SSH 서버는 TCP 포트 22에서 수신 대기합니다. 원격 서버가 이 기본 포트를 사용하는 경우 사용자 이름과 호스트만 있으면 됩니다.

예시: 사용자 jdoe192.168.1.100 서버에 연결

ssh [email protected]

서버에 처음 연결하는 경우 SSH 클라이언트에서 서버의 호스트 키를 확인하라는 메시지를 표시합니다. 지문이 제공자나 관리자가 예상하는 것과 일치하는 경우에만 확인하십시오. 수락하면 SSH는 키를 ~/.ssh/known_hosts에 저장합니다.

필수 연결 옵션

기본 구문은 대부분의 표준 연결에서 작동하지만, 연결을 사용자 지정하거나 문제를 해결하기 위해 자주 사용되는 몇 가지 옵션이 있습니다.

사용자 지정 포트 지정(-p)

보안상의 이유로 많은 서버 관리자는 기본 SSH 포트(22)를 비표준 포트(예: 2222, 50000)로 변경합니다. 이 사용자 지정 포트를 지정하려면 -p 플래그를 사용해야 합니다.

구문:

ssh -p [포트번호] 사용자이름@호스트주소

예시: 포트 5555에서 appserver.local에 연결

ssh -p 5555 [email protected]

-p 옵션은 일반적으로 사용자이름@호스트 앞에 옵니다. 이렇게 하면 명령어를 쉽게 읽을 수 있고 원격 명령어 인수와 혼동되지 않습니다.

상세 출력(-v)

연결에 문제가 있는 경우(예: 연결 시간 초과, 인증 실패) 상세 모드는 문제 해결에 매우 유용합니다. -v 플래그는 출력 수준을 높여 협상, 키 교환 및 인증 시도를 포함한 연결 프로세스의 세부 단계를 보여줍니다.

구문:

ssh -v 사용자이름@호스트주소

더 자세한 디버깅을 위해 -vv 또는 -vvv(최대 상세 수준)를 사용할 수 있습니다.

단일 원격 명령어 실행

SSH는 일반적으로 대화형 셸 세션을 여는 데 사용됩니다. 그러나 지속적인 세션을 설정하지 않고 원격 서버에서 단일 명령어를 실행할 수 있습니다. 연결은 명령어를 실행하고 출력을 반환한 다음 즉시 종료됩니다.

구문:

ssh 사용자이름@호스트주소 "실행할 명령어"

예시: 원격 서버의 디스크 공간(df -h) 확인:

ssh [email protected] "df -h"

이는 빠른 확인에 유용합니다.

ssh [email protected] "systemctl status nginx --no-pager"

인증 방법

연결이 시작되면 서버는 사용자의 신원을 확인하기 위해 인증을 요구합니다. 두 가지 주요 방법은 비밀번호 인증과 키 기반 인증입니다.

1. 비밀번호 인증

이것은 가장 간단한 방법으로, 연결이 설정된 후 서버에서 사용자의 비밀번호를 입력하라는 메시지를 표시합니다. SSH는 비밀번호 전송을 암호화합니다.

과정:

  1. ssh 명령어를 실행합니다.
  2. 서버에서 메시지 표시: [email protected]'s password:
  3. 비밀번호를 입력합니다(입력이 표시되지 않음).

비밀번호 인증은 편리하지만, 공개 서버는 무차별 대입 로그인 시도의 대상이 되는 경우가 많습니다. 인터넷에 노출된 시스템의 경우 키 기반 로그인과 비밀번호 인증 비활성화가 일반적으로 더 안전한 기준입니다.

2. 키 기반 인증

키 기반 인증은 서버에 저장된 공개 키와 로컬 시스템에 안전하게 저장된 해당 개인 키라는 한 쌍의 암호화 키를 사용합니다. 이 방법은 비밀번호보다 훨씬 안전합니다.

ID 파일 지정(-i)

개인 키 파일이 기본 위치(~/.ssh/id_rsa 또는 ~/.ssh/id_ed25519)에 없는 경우 -i 옵션을 사용하여 해당 위치를 지정해야 합니다.

구문:

ssh -i /개인/키/파일/경로 사용자이름@호스트주소

예시: prod_server_key라는 특정 키를 사용하여 연결

ssh -i ~/.ssh/prod_server_key [email protected]

키 인증 설정(간략 개요)

키 인증을 사용하려면 일반적으로 다음 단계를 따릅니다.

  1. ssh-keygen을 사용하여 로컬 시스템에서 키 쌍을 생성합니다.
  2. 일반적으로 ssh-copy-id 유틸리티를 사용하여 공개 키를 원격 서버의 ~/.ssh/authorized_keys 파일에 복사합니다.
ssh-copy-id 사용자이름@호스트주소

실용적인 SSH 명령어 요약

목표 명령어 예시 설명
표준 연결 ssh [email protected] 기본 포트 22를 사용하여 연결합니다.
사용자 지정 포트 ssh -p 443 [email protected] 포트 443에 연결합니다.
키 인증 ssh -i ~/.ssh/dev_key dev@testbed 특정 개인 키 파일을 사용하여 연결합니다.
연결 디버깅 ssh -v [email protected] 문제 해결을 위해 상세 모드로 연결을 실행합니다.
원격 명령어 ssh user@host "uptime" uptime 명령어를 실행하고 종료합니다.

빠른 문제 해결 확인 사항

명령어가 실패하면 서버 설정을 변경하기 전에 오류를 확인하십시오.

  • Connection timed out: 호스트 또는 포트가 방화벽, 보안 그룹 또는 라우팅 문제에 의해 차단되었을 수 있습니다.
  • Connection refused: 서버에 연결할 수 있지만 해당 포트에서 수신 대기 중인 항목이 없습니다.
  • Permission denied (publickey): 서버가 키, 사용자 이름 또는 인증 방법을 수락하지 않았습니다.
  • REMOTE HOST IDENTIFICATION HAS CHANGED: 저장된 호스트 키가 더 이상 일치하지 않습니다. 이는 서버 재구축 후에 발생할 수 있지만 심각한 보안 문제를 나타낼 수도 있습니다. 이전 키를 제거하기 전에 지문을 확인하십시오.

키 문제의 경우 다음 명령어로 일반적으로 충분한 세부 정보를 얻을 수 있습니다.

ssh -vvv -i ~/.ssh/prod_server_key [email protected]

실용적인 요점

ssh user@host로 시작하십시오. 서버가 사용자 지정 포트를 사용하는 경우 -p를 추가하고, 특정 개인 키가 필요한 경우 -i를 추가하며, 인증 또는 네트워크 오류가 명확하지 않은 경우 -v 또는 -vvv를 사용하십시오. 인터넷에 노출된 서버의 경우 키 기반 인증으로 전환하고 액세스 프로세스가 허용될 때 비밀번호 로그인을 비활성화된 상태로 유지하십시오.