使用 YubiKey NEO + ConnectBot 在 Android 上 NFC SSH 鑒權
最近買了一塊 YubiKey NEO 之後,就一直在研究能不能用這玩意兒做登錄 SSH 的密匙。在電腦上的配置方案網上到處都能找到,不過卻一直沒啥人提到能不能用這玩意通過 NFC 功能在安卓手機上做同樣的事情。
我自己是沒有找到一個官方支持這種功能的 SSH 客戶端 —— 不過有國外大神自己動手魔改 ConnectBot 和 OpenKeychain 達到了這一目的。
ssh with yubikey neo on android
於是就自己根據這種操作,魔改了一下這些客戶端。
客戶端下載地址(別嫌棄百度網盤……): https://pan.baidu.com/s/1eSIVMAu
具體的使用方法:
- 首先生成 SSH 公鑰並轉成 PEM 格式,等一下餵給 ConnectBot ,然後導出你的 GPG 公鑰。
$ gpg --export-ssh-key 1234ABCD5678EFAB > id_rsa.pub$ ssh-keygen -f id_rsa.pub -e -m pem | sed 1 a Private-Key-ID: 1234ABCD5678EFAB > key.pem$ gpg --export --armor 1234ABCD5678EFAB > key.gpg
2. 把 key.pem 和 key.gpg 傳到手機上,用 OpenKeychain 導入 key.gpg ,導入好之後刷一下你的 YubiKey NEO ,就會自動對上公鑰。理論上傳到 Key Server 也可以,不過可能由於我網路原因,沒有成功。
3. 到設置里**手動**給 ConnectBot 存儲許可權,然後進入管理公鑰,導入 key.pem ,導入成功後點擊列表中的鎖按鈕,點到圖標變成解鎖即可。
4. 第一次連 SSH 的時候 OpenKeychain 會請求授權,然後這時候基本上會認證失敗,把 SSH 斷了再重連就好。
推薦閱讀:
※長遠來看,NFC 會在移動支付領域替代二維碼嗎?兩者之外還會有什麼新技術嗎?
※力挺「男女平權」,超級碗天價廣告為何卻被罵慘?
※NFC 感應是什麼?放到手機裡面嗎?
※為什麼很多人都看好 NFC 技術? 和藍牙有什麼區別?
※對比 NFC,Apple iOS 7 類似解決方案 iBeacons 的優缺點是什麼?