Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

22.5. 사용자를 위한 SSH 공개 키 관리

ID 관리를 사용하면 공용 SSH 키를 사용자 항목에 업로드할 수 있습니다. 해당 개인 SSH 키에 액세스할 수 있는 사용자는 ssh 를 사용하여 Kerberos 자격 증명을 사용하지 않고 IdM 시스템에 로그인할 수 있습니다. gRPC _krb5 가 올바르게 구성되거나 SSSD가 IdM 서버의 ID 공급자로 사용되는 경우 사용자는 로그인 후 Kerberos 티켓 부여 티켓(TGT)도 수신합니다. 자세한 내용은 “자동으로 Kerberos 티켓 얻기” 을 참조하십시오.
개인 SSH 키 파일을 사용할 수 없는 시스템에서 로그인하는 경우 Kerberos 자격 증명을 제공하여 사용자를 인증할 수 있습니다.

자동으로 SSH 키 캐싱 및 복구

IdM 서버 또는 클라이언트 설치 중에 사용자 및 호스트 SSH 키를 캐시하고 검색하도록 시스템에 SSSD가 자동으로 구성됩니다. 이를 통해 IdM은 SSH 키의 범용 중앙 집중식 리포지토리 역할을 할 수 있습니다.
설치 중에 서버 또는 클라이언트가 구성되지 않은 경우 시스템에서 수동으로 SSSD를 구성할 수 있습니다. 이 작업을 수행하는 방법에 대한 자세한 내용은 22.6절. “OpenSSH 서비스에 캐시를 제공하도록 SSSD 구성” 을 참조하십시오. SSSD를 통해 SSH 키를 캐싱하려면 로컬 시스템에 대한 관리 권한이 필요합니다.

SSH 키 형식 요구 사항

IdM은 다음 두 가지 SSH 키 형식을 허용합니다.
OpenSSH 스타일 키
이 형식에 대한 자세한 내용은 RFC 4716 에서 참조하십시오.
Raw RFC 4253 스타일 키
이 형식에 대한 자세한 내용은 RFC 4253 에서 참조하십시오.
IdM은 IdM LDAP 서버에 저장하기 전에 RFC 4253 스타일 키를 OpenSSH 스타일 키로 자동 변환합니다.
id_rsa.pub 와 같은 키 파일은 키 유형, 키 자체, 추가 주석 또는 식별자의 세 부분으로 구성됩니다. 다음 예에서 키 유형은 RSA이고 주석은 해당 키를 client.example.com 호스트 이름과 연결합니다.
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDMM4xPu54Kf2dx7C4Ta2F7vnIzuL1i6P21TTKniSkjFuA+r
qW06588e7v14Im4VejwnNk352gp49A62qSVOzp8IKA9xdtyRmHYCTUvmkcyspZvFRI713zfRKQVFyJOqHmW/m
dCmak7QBxYou2ELSPhH3pe8MYTQIulKDSu5Zbsrqedg1VGkSJxf7mDnCSPNWWzAY9AFB9Lmd2m2xZmNgVAQEQ
nZXNMaIlroLD/51rmMSkJGHGb1O68kEq9Z client.example.com
IdM에 키를 업로드할 때 세 가지 주요 부분 또는 키 자체만 업로드할 수 있습니다. 키 자체만 업로드하면 IdM은 업로드된 키 키에서 RSA 또는 DSA와 같은 키 유형을 자동으로 식별합니다.

22.5.1. SSH 키 생성

OpenSSH ssh-keygen 유틸리티를 사용하여 SSH 키를 생성할 수 있습니다. 유틸리티는 공개 키의 위치에 대한 정보를 표시합니다. 예를 들어 다음과 같습니다.
$ ssh-keygen -t rsa -C user@example.com
Generating public/private rsa key pair.
Enter file in which to save the key (/home/user/.ssh/id_rsa):
Created directory '/home/user/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/user/.ssh/id_rsa.
Your public key has been saved in /home/user/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:GAUIDVVEgly7rs1lTWP6oguHz8BKvyZkpqCqVSsmi7c user@example.com
The key's randomart image is:
+--[ RSA 2048]----+
|                 |
|     + .         |
|    + =   .      |
|     =   +       |
|    . E S..      |
|   .    . .o     |
|    . .  . oo.   |
|   . o .  +.+o   |
|    o  .o..o+o   |
+-----------------+
사용자의 SSH 키를 업로드하려면 표시된 파일에 저장된 공개 키 문자열을 사용합니다.

22.5.2. 사용자 SSH 키 업로드

22.5.2.1. 웹 UI: 사용자 SSH 키 업로드

  1. IdentityUsers 를 선택합니다.
  2. 편집할 사용자 이름을 클릭합니다.
  3. 계정 설정 영역의 설정 탭에서 SSH 공개 키를 클릭합니다. 추가.

    그림 22.9. 계정 설정의 SSH 공개 키

    계정 설정의 SSH 공개 키
  4. Base 64로 인코딩된 공개 키 문자열에 붙여넣고 설정을 클릭합니다.

    그림 22.10. 공개 키에 붙여넣기

    공개 키에 붙여넣기
  5. 페이지 상단에서 저장 을 클릭합니다.

22.5.2.2. 명령줄: 사용자 SSH 키 업로드

ipa user-mod 명령을 사용하고 --sshpubkey 옵션을 사용하여 Base 64 인코딩 공개 키 문자열을 전달합니다.
예를 들어 키 유형, 키 자체 및 호스트 이름 식별자를 업로드하려면 다음을 수행합니다.
$ ipa user-mod user --sshpubkey="ssh-rsa AAAAB3Nza...SNc5dv== client.example.com"
여러 개의 키를 업로드하려면 --sshpubkey 를 여러 번 사용합니다. 예를 들어 두 개의 SSH 키를 업로드하려면 다음을 수행합니다.
--sshpubkey="AAAAB3Nza...SNc5dv==" --sshpubkey="RjlzYQo...ZEt0TAo="
참고
키 문자열을 명령줄에 수동으로 붙여넣는 대신 명령 리디렉션을 사용하여 키가 포함된 파일을 가리킬 수 있습니다. 예를 들어 다음과 같습니다.
$ ipa user-mod user --sshpubkey="$(cat ~/.ssh/id_rsa.pub)" --sshpubkey="$(cat ~/.ssh/id_rsa2.pub)"

22.5.3. 사용자 키 삭제

SSH 키를 삭제하려면 다음을 수행합니다.

22.5.3.1. 웹 UI: 사용자 SSH 키 삭제

  1. IdentityUsers 를 선택합니다.
  2. 편집할 사용자 이름을 클릭합니다.
  3. 계정 설정 영역의 설정 탭에서 제거할 키 옆에 있는 삭제 를 클릭합니다.

    그림 22.11. 사용자 SSH 공개 키 삭제

    사용자 SSH 공개 키 삭제
  4. 페이지 상단에서 저장 을 클릭합니다.

22.5.3.2. 명령줄: 사용자 SSH 키 삭제

사용자 계정에 할당된 모든 SSH 키를 삭제하려면 키를 지정하지 않고 ipa user-mod 명령에 --sshpubkey 옵션을 추가합니다.
$ ipa user-mod user --sshpubkey=
특정 SSH 키 또는 키만 삭제하려면 --sshpubkey 옵션을 사용하여 보관할 키 또는 키를 지정합니다.
참고
이 명령은 캐시에서 SSH 키를 즉시 삭제하지 않습니다. 기본 캐시 시간 초과 값(entry_cache_timeout = 5400)을 사용하면 키가 1시간 반 동안 캐시에 남아 있습니다.