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 키 형식을 허용합니다.
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 키 업로드
를 선택합니다. - 편집할 사용자 이름을 클릭합니다.
- 계정 설정 영역의 설정 탭에서 SSH 공개 키를 클릭합니다. 추가.
그림 22.9. 계정 설정의 SSH 공개 키
- Base 64로 인코딩된 공개 키 문자열에 붙여넣고클릭합니다.
그림 22.10. 공개 키에 붙여넣기
- 페이지 상단에서 저장 을 클릭합니다.
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 키를 삭제하려면 다음을 수행합니다.
- 웹 UI를 사용하여 다음을 참조하십시오. 22.5.3.1절. “웹 UI: 사용자 SSH 키 삭제”
- 명령줄을 사용하여 다음을 참조하십시오. 22.5.3.2절. “명령줄: 사용자 SSH 키 삭제”
22.5.3.1. 웹 UI: 사용자 SSH 키 삭제
를 선택합니다. - 편집할 사용자 이름을 클릭합니다.
- 계정 설정 영역의 설정 탭에서 제거할 키 옆에 있는 삭제 를 클릭합니다.
그림 22.11. 사용자 SSH 공개 키 삭제
- 페이지 상단에서 저장 을 클릭합니다.
22.5.3.2. 명령줄: 사용자 SSH 키 삭제
사용자 계정에 할당된 모든 SSH 키를 삭제하려면 키를 지정하지 않고 ipa user-mod 명령에
--sshpubkey
옵션을 추가합니다.
$ ipa user-mod user --sshpubkey=
특정 SSH 키 또는 키만 삭제하려면
--sshpubkey
옵션을 사용하여 보관할 키 또는 키를 지정합니다.
참고
이 명령은 캐시에서 SSH 키를 즉시 삭제하지 않습니다. 기본 캐시 시간 초과 값(
entry_cache_timeout = 5400
)을 사용하면 키가 1시간 반 동안 캐시에 남아 있습니다.