직장에서 yubikey 배포를 자동화하려고 합니다.

직장에서 yubikey 배포를 자동화하려고 합니다.

연결된 yubikey에서 gpg --card-edit 명령을 실행하고 카드에 RSA 4096 키 쌍을 생성하는 기본 스크립트를 작성하려고 합니다.

#!/usr/bin/env bash

red=`tput setaf 1`
green=`tput setaf 2`
reset=`tput sgr0`  
set -euf
set -o pipefail

echo "${red}script started${reset}"

echo " ${red}run card edit ${reset}"
gpg --card-edit --command-fd - < ~/bin/yubikey/input2.txt

input2.txt에는 실행하려는 명령이 포함되어 있습니다.

admin
generate

gpg에서 얻은 PIN 프롬프트를 처리하는 방법을 찾을 수 없으므로 이 오류가 발생합니다.

gpg: error checking the PIN: Inappropriate ioctl for device

답변1

파티에 조금 늦었지만 아마도 미래의 저를 포함한 누군가가 이것을 고맙게 생각할 것입니다... :-)

git clone https://github.com/santiago-mooser/yubikey-provisioning-scripts.git
cd yubikey-provisioning-scripts
./yubikey_provision.sh -h
   This script provisions a yubikey by generating a master key, 3 subkeys and moving the subkeys to the yubikey. Please read the documentation for more information.

   Usage: yubikey_provision.sh [-e|--email EMAIL_ADDRESS] [-u|--user-pin USER_PIN] [-a|--admin-pin ADMIN_PIN] [-y|--yes]

   optional arguments:
     -h, --help           show this help message and exit.
     -e, --email          provide email used for PGP key. If it is not provided, the user is prompted for an email.
     -f, --first-name     provide first name used for PGP key. Defaults to an empty string.
     -l, --last-name      provide last name used for PGP key. Defaults to an empty string.
     -c, --comment        provide comment used for PGP key. Defaults to an empty string.
         --username       provide username used for PGP key. Defaults to an empty string.
     -p, --password       provide password used for PGP key. If it is not provided, a random one is generated.
     -u, --user-pin       provide new user pin for the yubikey. If none is provided, a random one is generated.
     -a, --admin-pin      provide new admin pin for the yubikey. If none is provided, a random one is generated.
     -y, --yes            skips prompts to reset the yubikey.
     -v, --version        prints out the version number.

이 스크립트는 다른 모든 도우미 스크립트를 올바른 순서와 올바른 플래그로 실행하여 새 개인 키, 하위 키를 생성하고 연결된 yubikey의 openPGP 애플릿을 재설정하고 하위 키를 yubikey에 업로드하는 데 도움이 됩니다.

경고하다

이 스크립트는 또한 공개 키를 openPGP의 공개 키 서버에 업로드합니다! 이것이 원하는 것이 아니라면 스크립트에서 비활성화하십시오.

경고하다

읽다읽어보기.md여기!

https://github.com/santiago-mooser/yubikey-provisioning-scripts

경고하다

yubikey의 개인 키는 내보내지지 않습니다. 개인 키를 내보내려면 363-365스크립트 yubikey_provision.sh줄의 주석 처리를 해제하세요.

또는 새 하위 키를 재구성하려면 이 공식 yubikey 가이드에 따라 새 하위 키를 생성하되 옵션 14를 선택하고 나머지 가이드를 계속 진행하세요(하위 키를 yubikey로 이동 포함).

경고하다

호환성

이 스크립트는 MacOS Monetrrey, Ventura 및 Ubutuntu 20.04 LTS 이상에서 테스트되었습니다. 이전 버전에서도 작동할 수 있지만 보장되지는 않습니다.

관련 정보