인증

DR-Terminal은 세 가지 인증 방식을 지원합니다: 비밀번호, 개인 키, 그리고 FIDO2(YubiKey) 보안 키.

비밀번호

가장 간단한 방법입니다. 저장된 연결에 입력한 비밀번호는 플랫폼의 보안 저장소에 저장됩니다 — JSON 설정에는 절대 저장되지 않습니다. 비밀번호 필드가 비어 있으면 앱은 연결할 때마다 비밀번호를 묻습니다.

공개 키 → 비밀번호 폴백: 서버가 공개 키를 거부하면(예: authorized_keys에 없는 경우) DR-Terminal은 연결을 끊지 않고 자동으로 같은 사용자의 비밀번호를 묻습니다.

개인 키

OpenSSH, PKCS#1, PKCS#8, ssh.com 또는 PuTTY PPK(v2/v3) 형식의 키를 모두 받아들이며 — 형식은 자동으로 감지되므로 .ppk 키도 먼저 변환할 필요 없이 바로 동작합니다. 다음을 할 수 있습니다:

키가 암호로 보호되어 있으면 DR-Terminal은 그 키를 처음 사용할 때 암호를 묻고, 이후에는 메모리에만 보관합니다 — ssh-agent처럼 앱 실행당 한 번만 잠금을 해제하며, 앱을 닫으면 모든 키가 다시 잠깁니다. 가져온 암호화된 키는 보안 저장소에 원래의 암호화된 형태 그대로 남습니다. 많은 알고리즘을 지원합니다 — RSA, ECDSA(P-256, P-384, P-521), Ed25519, Ed25519-SK, ECDSA-SK(FIDO).

키 생성기

설정 → 보안에는 SSH 키 생성 마법사가 있습니다. 종류(예: ed25519)를 고르고, 암호를 설정한 다음(선택 사항 — 보안 저장소 내부에서도 키를 보호함), 키가 로컬에 저장됩니다. 기본 키 주석은 ${user}@${host}@DR-Terminal로, 서버에서 키를 찾을 때 편리합니다. 공개 키는 서버의 ~/.ssh/authorized_keys에 넣기 위해 클립보드로 복사할 수 있습니다.

목록의 키는 그 자리에서 이름을 바꿀 수 있습니다. 고른 이름이 기존 이름과 충돌하면 앱이 자동으로 (2)를 덧붙입니다.

키 변환기

설정 → 보안 → SSH 키 → 변환은 개인 키를 모든 일반적인 형식 간에 다시 직렬화합니다 — 원본(저장된 키, 파일 또는 붙여넣은 텍스트)과 대상 형식을 고른 다음, 결과를 복사·공유·저장하세요.

양방향 지원 형식:

형식읽기쓰기
OpenSSH (BEGIN OPENSSH PRIVATE KEY)
PKCS#8 (BEGIN PRIVATE KEY)
PKCS#1 (BEGIN RSA PRIVATE KEY, RSA 전용)
PuTTY PPK — v2 및 v3

입력은 PEM(텍스트), PuTTY PPK 또는 원시 바이너리 DER일 수 있으며 — 형식은 자동으로 감지됩니다. 키 종류: RSA, Ed25519 및 ECDSA(P-256/384/521).

PKCS#1은 RSA 키만 설명하므로, 해당 대상은 원본이 RSA 키일 때만 제공됩니다.

비밀번호 연결을 키로 전환하기

authorized_keys를 직접 편집할 필요가 없습니다. 저장된 비밀번호 연결에 대해 DR-Terminal은 두 곳에서 안내형 업그레이드를 제공합니다:

두 경로 모두 같은 흐름으로 진행됩니다: 저장된 키를 고르거나 새 키를 생성하면, DR-Terminal이 기존 비밀번호 로그인을 통해 공개 키를 서버에 배포하고, 키 인증이 실제로 동작하는지 확인한 다음에야 저장된 연결을 키 인증으로 전환합니다. 확인에 실패하면 연결은 그대로 유지됩니다.

보안 키 (FIDO2 / YubiKey)

DR-Terminal은 ed25519-skecdsa-sk 키를 처리하며, 앱 내부에서 직접 생성할 수도 있습니다. 외부 ssh-keygen이 필요 없습니다.

DR-Terminal에서 YubiKey 기반 키 생성하기

  1. 설정 → 보안 → SSH 키 → SSH 키 생성.
  2. 보안 키 스위치를 켭니다. 알고리즘을 선택합니다 — Ed25519-SK(권장) 또는 ECDSA-SK.
  3. 안내가 나오면 YubiKey를 터치합니다. 앱이 토큰에 새 자격 증명 생성을 요청하고 공개 키에 서명합니다.
  4. 키가 DR-Terminal의 키 관리자에 저장됩니다. 공개 키를 복사하여 대상 서버의 ~/.ssh/authorized_keys에 붙여넣습니다.

Windows Hello: Windows에서 FIDO2 PIN 입력 창은 앱 내 대화 상자가 아니라 네이티브 Windows Hello 대화 상자(PIN / 지문 / 얼굴)입니다.

Resident 키(YubiKey 자체에 저장됨)는 키 파일을 들고 다닐 필요를 없애줍니다 — 비밀 전체가 토큰에 들어 있습니다. DR-Terminal에서 생성한 키는 non-resident입니다: 자격 증명 핸들이 키 관리자에 보관되며 토큰과 함께 필요합니다.

기존 SK 키 사용하기

다른 곳에서 생성한 id_ed25519_sk / id_ecdsa_sk가 이미 있다면(예: ssh-keygen -t ed25519-sk로 생성), 같은 키 관리자를 통해 가져오세요 — DR-Terminal은 가져온 SK 키와 생성한 SK 키를 동일하게 취급합니다.

연결 시점에

DR-Terminal은 키 터치를 요청합니다. 표시기가 깜빡이면 — 키를 탭하세요. iOS는 NFC와 USB-C를 지원합니다(YubiKey 5Ci 이상). Android — NFC + USB(OTG). 데스크톱은 네이티브 FIDO2 API를 사용합니다(Windows Hello, macOS, Linux는 libfido2 경유).

Previous
SSH 연결
Next
터미널