LoginSignup
4
4

More than 3 years have passed since last update.

YubiKeyでMacからUbuntuにSSH接続する

Last updated at Posted at 2019-10-01

MacからYubiKeyを使用してUbuntuへSSH接続する手順をまとめる。

環境

  • macOS Mojave
  • Yubikey 5C: Firmware 5.2.4
  • yubico-piv-tool: 1.7.0
  • Ubuntu 16.04.3 LTS

必要なツールを入れる

YubikeyをMacに接続

挙動を確認。接続に失敗しているとエラーが出る。

yubico-piv-tool -a status

PIN, PUK, Management Keyを変更・登録

Yubikeyを安全に使用するためにPIN等を独自のものに変更する必要がある。
GUIのYubikey Managerを使うとやりやすい。

デフォルトPIN/PUK

  • PIN: 123456
  • PUK: 12345678

CLIでやる場合

# PIN
yubico-piv-tool -a change-pin -P 123456

# PUK
yubico-piv-tool -a change-puk -P 12345678

# Management Keyを生成(48桁の英数字。ほんとはもっとちゃんと作るべき)
date | sha256sum | cut -c 1-48

# Management Keyを登録
yubico-piv-tool -a set-mgm-key

公開鍵の準備

# 秘密鍵を生成しPEMファイルを書き出す
yubico-piv-tool -s 9a -a generate -o id_rsa.pem

# 自己証明書を作成
yubico-piv-tool -a verify-pin -a selfsign-certificate -s 9a -S "/CN=SSH key/" -i public.pem -o cert.pem

# 証明書をインポート(失敗する場合はGUIのYubikey Managerを使う)
yubico-piv-tool -a import-certificate -s 9a -i cert.pem

# OpenSSH形式の公開鍵を書き出す
ssh-keygen -D opensc-pkcs11.so > id_rsa.pub

その後、 id_rsa.pub をサーバの authorized_keys へ登録する。

SSH接続

以下で接続できることを確認。途中、先ほど登録したPINを入力する。

ssh -I opensc-pkcs11.so ubuntu@xx.xx.xx.xx

さらに、YubikeyをMacから外して、接続ができないことを確認しておく。

~/.ssh/config の設定

Host TargetHostName
  HostName xx.xx.xx.xx
  User ubuntu
  PKCS11Provider opensc-pkcs11.so

備考

  • YubiKeyで秘密鍵を生成することで、一切YubiKeyの外に秘密鍵を出さずに公開鍵認証によるSSHが実現可能
  • MacがYubiKeyを認識しない場合は何度か抜き差しすると認識する場合がある
4
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
4