Security Key의 SSH Git operations 활용

3029 단어 fidotech
Git 작업에서 Security Key를 사용할 수 있으므로 시도해 보았습니다.
https://github.blog/2021-05-10-security-keys-supported-ssh-git-operations/
OpenSSH version 8.2 이상에서 사용할 수 있어 필요에 따라 Openssh 버전이 향상된다.
$ brew install openssh
아래와 같이 메일 주소를 지정하고 명령을 실행합니다.
$ ssh-keygen -t ecdsa-sk -C <email address> 
Generating public/private ecdsa-sk key pair.
You may need to touch your authenticator to authorize key generation.
Enter file in which to save the key (/path/.ssh/id_ecdsa_sk):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /path/.ssh/id_ecdsa_sk
Your public key has been saved in /path/.ssh/id_ecdsa_sk.pub
The key fingerprint is:
SHA256:<finger print> <email address> 
The key's randomart image is:
+-[ECDSA-SK 256]--+
|             ....|
|           . o. o|
|          o OE+.o|
|         . %.Xo =|
|        S o X.+*.|
|          ..oOBoo|
|         . o+X++ |
|          . + * .|
|           . o . |
+----[SHA256]-----+
PC에 연결된 SecurityKey를 인식하고 User Presence를 요청합니다.이후 암호문 설정 등을 적절히 시행한다.id_ecdsa_sk.pub라는 파일 이름으로 공개 키를 만들었기 때문에 보통 SSH 키를 등록하는 것과 같이 GiitHub에 로그인합니다.

따라서 GiitHub 작업을 수행하려면 다음과 같은 Security Key가 필요합니다.
실패 시
$ git clone [email protected]:github/secure_headers.git
Cloning into 'secure_headers'...
Confirm user presence for key ECDSA-SK SHA256:<finger print>
sign_and_send_pubkey: signing failed for ECDSA-SK "/path/.ssh/id_ecdsa_sk": invalid format
[email protected]: Permission denied (publickey).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.
성공 시
$ git clone [email protected]:github/secure_headers.git
Cloning into 'secure_headers'...
Confirm user presence for key ECDSA-SK SHA256:<finger print>
User presence confirmed
remote: Enumerating objects: 6687, done.
remote: Counting objects: 100% (335/335), done.
remote: Compressing objects: 100% (216/216), done.
remote: Total 6687 (delta 196), reused 227 (delta 118), pack-reused 6352
Receiving objects: 100% (6687/6687), 1.54 MiB | 2.85 MiB/s, done.
Resolving deltas: 100% (3671/3671), done.

참고 자료

  • https://github.blog/2021-05-10-security-keys-supported-ssh-git-operations
  • https://www.yubico.com/blog/github-now-supports-ssh-security-keys/
  • 좋은 웹페이지 즐겨찾기