클라우드 서버

SSH를 사용하여 클라우드 서버에 연결하기

SSH gives you a root shell on your cloud server from your own terminal, and every detail you need to connect is shown on the server's page in KPanel, ready to copy.

SSH로 클라우드 서버에 연결하기

SSH를 사용하면 자신의 터미널에서 클라우드 서버의 루트 셸에 접근할 수 있으며, 연결에 필요한 모든 정보는 KPanel의 서버 페이지에 표시되어 복사할 준비가 되어 있습니다.

클라우드 서버는 운영 체제부터 시작하여 전적으로 당신의 것이므로, 대부분의 작업은 명령 줄에서 수행됩니다. 본 가이드는 연결 세부 정보 찾기, 키 또는 비밀번호로 연결하기, 키를 제대로 설정하기, 브라우저 콘솔 폴백, 그리고 연결 실패의 거의 모든 원인이 되는 몇 가지 오류를 다룹니다.

연결 세부 정보 찾기

  1. KPanel에 로그인합니다.
  2. 왼쪽 사이드바에서 Cloud Servers를 클릭한 후 서버를 클릭합니다.
  3. Connection 카드를 찾습니다.

카드에는 세 개의 클립보드 복사 필드가 있습니다:

필드설명
SSH Command터미널에 바로 붙여넣을 수 있는 완전한 명령어
IPv4 Address서버의 공개 IPv4 주소
IPv6 Address할당된 서버의 IPv6 주소

KPanel의 클라우드 서버의 Connection 카드

카드에 "IP address will appear here once provisioning is complete"이 표시되면, 서버가 아직 구성 중입니다. 클라우드 서버 프로비저닝에는 약 60초가 소요되며, 완료되면 페이지가 자동으로 업데이트됩니다.

SSH 키를 사용하여 연결하기

서버를 주문할 때 공개 키를 SSH Public Key 필드에 붙여넣었다면, 키 인증이 이미 구성되어 있으므로 입력할 비밀번호가 없습니다.

  1. Connection 카드에서 SSH Command를 복사합니다.
  2. 터미널에 붙여넣고 Enter를 누릅니다.
ssh root@203.0.113.1

SSH 클라이언트가 일치하는 개인 키를 찾아 자동으로 인증합니다. 키가 비표준 위치에 있다면 명시적으로 지정하세요:

ssh -i ~/.ssh/my-kapsule-key root@203.0.113.1

키는 비밀번호보다 쉽고 안전합니다. 기억할 것도 없고, 피싱 프롬프트에 입력할 것도 없으며, 자동화된 비밀번호 추측 공격이 찾을 것도 없습니다. 여전히 비밀번호를 사용 중이라면, 키를 생성하고 추가하는 데 약 2분이 소요됩니다.

처음으로 키 설정하기

자신의 컴퓨터에서 키 쌍을 생성합니다 (서버에서는 안 됨):

ssh-keygen -t ed25519 -C "your-email@example.com"

기본 위치를 수락하기 위해 Enter를 누르고 프롬프트가 나타나면 암호를 설정합니다. 이제 두 개의 파일이 있습니다:

  • ~/.ssh/id_ed25519는 당신의 개인 키입니다. 절대 컴퓨터를 떠나지 않으며, 어디에도 붙여넣지 않습니다.
  • ~/.ssh/id_ed25519.pub는 당신의 공개 키입니다. 이것이 서버에 제공하는 키입니다.

공개 키를 출력하고 전체 한 줄을 복사합니다. ssh-ed25519 접두사와 끝의 주석을 포함해야 합니다:

cat ~/.ssh/id_ed25519.pub

서버를 주문할 때, 그 줄을 SSH Public Key 필드에 붙여넣습니다. 필드의 힌트에 명확히 나와 있습니다: "Paste your public key to enable key-based authentication. If left blank, a root password will be emailed to you."

.pub이 끝에 없는 파일의 내용을 절대 붙여넣지 마세요. 그것은 당신의 개인 키이며, 그것을 가진 사람은 그것을 신뢰하는 모든 서버에 당신으로 로그인할 수 있습니다. 개인 키를 실수로 공유하게 되면, 새로운 쌍을 생성하고 모든 곳에서 공개 키를 즉시 교체하십시오.

이미 가지고 있는 서버에 키를 추가하려면, 오늘 할 수 있는 어떤 방식으로든 연결하고 공개 키 줄을 /root/.ssh/authorized_keys에 추가하십시오.

비밀번호를 사용하여 연결하기

주문할 때 SSH Public Key 필드를 비워두었다면, 서버가 프로비저닝되면 루트 비밀번호가 이메일로 전송됩니다.

  1. Connection 카드에서 SSH Command를 복사합니다.
  2. 터미널에 붙여넣고 Enter를 누릅니다.
  3. 프롬프트에서 이메일로 받은 루트 비밀번호를 입력합니다.

접속한 후 즉시 passwd를 사용하여 비밀번호를 변경하고 SSH 키를 추가합니다. 이메일로 받은 비밀번호는 자격 증명이 이동할 필요보다 더 멀리 이동했습니다.

브라우저 콘솔

Browser console은 SSH 클라이언트 없이, 포트 22를 거치지 않고 KPanel 내의 터미널을 제공합니다. 자신의 접근 권한이 손상되었을 때를 위한 도구입니다.

  1. 서버의 페이지를 열고 작업 버튼에서 Browser console을 클릭하거나 /cloud-servers/<server-id>/console로 이동합니다.
  2. Start console을 클릭합니다. KPanel이 HTTPS를 통해 서버에서 일회용 자격 증명을 사용하는 터미널을 시작합니다.
  3. UsernamePassword가 페이지에 표시되며, Copy credentials 버튼이 있습니다. 터미널이 페이지 자체에서 열리며, 브라우저가 해당 자격 증명을 입력하도록 요청할 수 있습니다.
  4. 모든 셸에서처럼 작업합니다.

콘솔 세션은 30분 후 자동으로 중지됩니다. 새 세션을 시작하면 새로운 자격 증명이 발급되므로, 작업이 완료되면 아무것도 수신 대기하지 않습니다. 브라우저 콘솔은 또한 서버에 HTTPS를 사용하여 구성된 도메인이 필요하다는 것은 패널을 통해 설치된 앱이 있다는 의미입니다. 베어 서버에서는 콘솔이 조용히 실패하지 않고 알려줍니다.

콘솔을 사용하여 당신을 차단한 방화벽 규칙을 취소하거나, 비밀번호를 재설정하거나, sshd 구성을 복구합니다. SSH를 통해 정상적으로 다시 접속한 후에는 더 이상 필요하지 않습니다.

SSH 접근 안전 유지하기

포트 22는 설계 상 KapsuleHost 서버 방화벽에서 항상 열려 있으므로, 방화벽 변경이 당신을 기계에서 완전히 차단할 수 없습니다.

이는 셸의 보안이 포트 숨기기가 아니라 인증 방식에 달려 있다는 의미입니다. 두 가지가 대부분의 작업을 수행합니다:

  • 키를 사용하고 비밀번호는 사용하지 마세요. 그러면 추측된 비밀번호는 접근 방법이 아닙니다.
  • fail2ban을 활성 상태로 두세요. 기본적으로 활성화되어 있으며 SSH 인증에 반복적으로 실패하는 주소를 차단합니다. 서버의 Management 페이지에서 스위치를 볼 수 있습니다.

Cloud Server Firewall and Security Management는 둘 다 다루며, 당신의 애플리케이션이 필요로 하는 포트에 대한 사용자 지정 규칙도 다룹니다.

문제 해결

"Connection refused." 아무것도 수신 대기하지 않습니다. KPanel에 서버가 Running으로 표시되는지 확인하고, 꺼져 있으면 전원을 켜고, 브라우저 콘솔을 사용하여 sshd이 실행 중인지 확인합니다.

"Connection timed out." 트래픽이 도착하지 않습니다. Connection 카드의 IPv4 주소를 사용하고 있는지 확인하고, 자신의 네트워크가 아웃바운드 포트 22를 차단하는지 확인합니다. 기업 또는 캠퍼스 네트워크는 때때로 차단합니다.

"Permission denied (publickey)." 서버가 당신의 키를 인식하지 못합니다. .pub 줄을 완전하고 변경되지 않은 상태로 붙여넣었는지, 그리고 클라이언트가 일치하는 개인 키를 제공하고 있는지 확인합니다. ssh 명령에 -v를 추가하여 시도한 키를 확인합니다.

비밀번호에서 "Permission denied, please try again". 비밀번호가 잘못되었거나 키를 제공했기 때문에 비밀번호 인증이 비활성화되어 있습니다. 키를 사용하거나 브라우저 콘솔을 사용합니다.

"REMOTE HOST IDENTIFICATION HAS CHANGED." 서버의 호스트 키가 클라이언트가 기억하는 키와 다릅니다. 이는 rebuild 후에 예상되는 것입니다. 운영 체제가 다시 설치되었기 때문입니다. known_hosts 파일에서 해당 IP 주소의 오래된 항목을 제거하고 다시 연결합니다. 아무것도 다시 빌드하지 않았다면, 연결하기 전에 멈추고 당사에 문의하세요.

방화벽 규칙으로 자신을 차단했습니다. 포트 22는 열려 있으므로 이는 드물지만, 서버 내의 규칙이 당신을 차단했다면 브라우저 콘솔을 사용하여 제거합니다.

위의 어느 것도 셸을 제공하지 않으면, 서버 이름, 연결하는 주소, 정확한 오류 텍스트와 함께 support@kapsulehost.com으로 이메일을 보냅니다.

여전히 도움이 필요하신가요?

다음 주소로 이메일을 보내주세요 support@kapsulehost.com 또는 KPanel에서 채팅을 시작하세요.

KPanel 열기