ssh-keygen

ssh-keygen
ssh-keygen
개발자OpenBSD 프로젝트
저장소github.com/openssh/openssh-portable/
기입처C
운영 체제Unix, Unix 유사, Microsoft Windows
유형명령어
면허증.BSD, ISC, 퍼블릭도메인
웹 사이트www.openssh.com

ssh-keygen은 Unix, UnixMicrosoft Windows 컴퓨터 시스템에 있는 Secure Shell(SSH) 프로토콜 스위트의 표준 컴포넌트로, 다양한 암호화 기술을 사용하여 보안되지 않은 네트워크를 통해 원격 컴퓨터 간에 안전한 셸 세션을 확립하기 위해 사용됩니다.ssh-keygen 유틸리티는 인증키의 생성, 관리 및 변환에 사용됩니다.

개요

ssh-keygen은 3개의 다른 디지털 서명 알고리즘 중 하나를 사용하여 키를 생성할 수 있습니다.사용자는 ssh-keygen 도구를 사용하여 이러한 키유형의 패스프레이즈 키를 작성할 수 있습니다.무인 조작을 실시하기 위해서, 패스 프레이즈를 비워 둘 수 있습니다.다만, 리스크가 높아집니다.이러한 키는 관련 도구 GNU Privacy Guard에서 사용되는 키와 다릅니다.

OpenSSH 기반 클라이언트 및 서버 프로그램은 버전 1803부터 Windows 10에 포함되어 있습니다.SSH 클라이언트와 키 에이전트는 디폴트로 이니블로 사용 가능하며 SSH 서버는 옵션인 [1][2]Feature-on-Demand 입니다.

지원되는 주요 형식

프로토콜 시대
RSA 1
DSA 2
ECDSA 3
ed25519 4

원래 SSH 프로토콜 버전 1(현재는 사용되지 않음)에서는 RSA 알고리즘만 지원되었습니다.2016년 현재 RSA는 여전히 강력한 것으로 간주되지만, 시간이 지남에 따라 권장 키 길이가 늘어났습니다.

SSH 프로토콜 버전 2에서는 DSA 알고리즘 지원이 추가되었습니다.DSA는 현재 취약하다고 간주되며 OpenSSH 7.0에서는 비활성화되어 있습니다.

그 후 OpenSSH는 세 번째 디지털 서명 알고리즘인ECDSA의 지원을 추가했습니다(이 키 형식은 개인 키에 이전 PEM 파일 형식을 사용하지 않으며 암호화 구현을 위해 OpenSSL 라이브러리에 의존하지 않습니다).

네 번째 형식은 ed25519를 사용하여 지원되며, 원래 독립 암호 연구자인 Daniel J. Bernstein에 의해 개발되었습니다.

명령어 구문

ssh-keygen 명령어의 구문은 다음과 같습니다.

ssh-keygen [스위치]

ssh-keygen 명령어의 중요한 옵션은 다음과 같습니다.

ssh-keygen 명령어옵션 묘사
- b비트 작성할 키의 비트 수를 지정합니다.기본 길이는 3072비트(RSA) 또는 256비트(ECDA)입니다.
-C 코멘트 커스텀 키 코멘트를 제공합니다(공개 키 끝에 추가됩니다).
-p 새 개인 키를 만드는 대신 개인 키 파일의 암호를 변경하도록 요청합니다.
-t 작성할 키의 타입(rsa 등)을 지정합니다.
-o 새로운 OpenSSH 형식을 사용합니다.
-q ssh-keygen을 발행합니다.새 키를 만들 때 /etc/rc 파일에서 사용됩니다.
-N 새로운 패스프레이즈를 제공합니다.
- B 키의 지문을 버블 배블 형식으로 덤프합니다.
-l 키의 핑거 프린트를 SHA-2(또는 MD5) 형식으로 덤프합니다.

ssh-keygen 유틸리티에서 사용되는 파일

ssh-keygen 유틸리티는 공개 키와 개인 키를 저장하기 위해 다양한 파일을 사용합니다.ssh-keygen 유틸리티에서 사용되는 파일은 다음과 같습니다.

  • $HOME/.ssh/ID:SSH 프로토콜 버전 1을 사용하는 경우 $HOME/.ssh/identity 파일에는 RSA 개인 키가 포함됩니다.
  • $HOME/.ssh/ID.pub: $HOME/.ssh/identity.pub 파일에는 SSH 프로토콜 버전1을 사용하는 경우 인증을 위한 RSA 공용 키가 포함되어 있습니다.사용자는 RSA 인증을 사용하여 로그인하는 리모트시스템의 $HOME/.ssh/authorized_keys 파일에 내용을 복사해야 합니다.
  • $HOME/.ssh/id_dsa:$HOME/.ssh/id_dsa 파일에는 사용자의 프로토콜 버전2 DSA 인증 ID가 포함되어 있습니다.
  • $HOME/.ssh/id_dsa.pub:$HOME/.ssh/id_dsa.pub 파일에는 SSH 프로토콜 버전2 를 사용하고 있는 경우의 인증용 DSA 공개 키가 포함되어 있습니다.사용자는 DSA 인증을 사용하여 로그인하는 리모트시스템의 $HOME/.ssh/authorized_keys 파일에 내용을 복사해야 합니다.
  • $HOME/.ssh/id_rsa:$HOME/.ssh/id_rsa 파일에는 사용자의 프로토콜 버전 2 RSA 인증 ID가 포함되어 있습니다.이 파일은 사용자 이외에는 읽을 수 없습니다.
  • $HOME/.ssh/id_rsa.pub:$HOME/.ssh/id_rsa.pub 파일에는 인증을 위한 프로토콜 버전 2 RSA 공용 키가 포함되어 있습니다.이 파일의 내용은 사용자가 공개 키 인증을 사용하여 로그인하는 모든 컴퓨터에서 $HOME/.ssh/authorized_keys에 추가해야 합니다.

레퍼런스

  1. ^ "What's new for the Command Line in Windows 10 version 1803". 8 March 2018.
  2. ^ "Using the OpenSSH Beta in Windows 10 Fall Creators Update and Windows Server 1709". 15 December 2017.

외부 링크