スマートカードでSSHログインするというマニアな分野ですが、GPG2.1.xを使っていたら案外つまづいたので備忘録としてメモします。(GPG2.1.xは最高)
前提
やりかた
~/.gnupg/gpg.conf
にgpg-agent
を使わせる。
$ echo "use-agent" >> ~/.gnupg/gpg.conf
gpg-agent
の設定を行う。gnupg 2.1.xからgpg-agentの仕様が変わっているので、2.0.x向けの設定とはやや違う。
# ~/.gnupg/gpg-agent.conf ... enable-ssh-support write-env-file default-cache-ttl-ssh 43200 # ここはお好みの値で
ssh-agent
に代わってgpg-agent
を使うための設定を行う。
# ~/.bash_profileなど ... GPG_TTY=$(tty) export GPG_TTY unset SSH_AGENT_PID if [ "${gnupg_SSH_AUTH_SOCK_by:-0}" -ne $$ ]; then export SSH_AUTH_SOCK="${HOME}/.gnupg/S.gpg-agent.ssh" fi
ここでもろもろの設定(環境変数、gpg-agentの設定)をリロードするためにマシンを再起動(ログアウト)する。
sshがOpenPGP Cardの鍵を認識するか確認する。
$ ssh-add -l ... 4096 xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx cardno:0005xxxxxxxx (RSA) # これが出たらカードの鍵を認識できている $ ssh-add -L ... # 以下を接続したいホストのauthorized_keysに追記する ssh-rsa AAAAB3Nza.....略.....phiQ== cardno:0005xxxxxxxx
参考
- How to use the Fellowship Smartcard (一番ためになる)
- HOWTO: Smart Card authentication for logins, e-mail, TrueCrypt and more!
- GnuPG - ArchWiki
- GnuPG - What’s new in 2.1
- Using an OpenPGP Smartcard with GnuPG (gpg 2.0.xを前提とした記述)
- Using an OpenPGP SmartCard [shtrom's wiki] (同上)
これで動作確認しました:
Gemalto ジェムアルト ICカードリーダ・ライタ 電子申告(e-Tax)対応住基カード用PC USB-TR HWP119316
- 出版社/メーカー: ジェムアルト
- メディア: Personal Computers
- 購入: 34人 クリック: 236回
- この商品を含むブログ (4件) を見る