• 跳至主要導覽
  • 跳至主要內容
  • 跳至主要資訊欄
Office 指南

Office 指南

辦公室工作實用教學

  • Excel
  • Word
  • PowerPoint
  • Windows
  • PowerShell
  • R

macOS 安裝 ga-cmd 自動取得 Google Authenticator OTP 一次性驗證碼教學與範例

介紹如何在 macOS 中安裝與使用 ga-cmd 以 shell 指令稿自動取的一次性驗證碼。


首先透過 brew 安裝幾個編譯用的工具:

# 安裝編譯用工具
brew install autoconf automake libtool

下載 ga-cmd 原始碼並進行編譯:

# 下載 ga-cmd 原始碼
git clone https://github.com/arcanericky/ga-cmd.git
cd ga-cmd

# 下載 google-authenticator-libpam 原始碼
git submodule update --init --recursive
cd src/google-authenticator-libpam/

# 編譯 google-authenticator-libpam 
./bootstrap.sh
./configure
make

# 編譯 ga-cmd
cd ..
./build.sh

編譯完成後,將 ga-cmd 這個執行檔複製到適當的位置,例如 $HOME/bin/ 目錄之下。

建立 $HOME/.ga-cmd 設定檔,並填入金鑰,格式為 名稱=金鑰,例如:

myhost=1234567890123456

金鑰設定檔案等同於密碼,所以必須將 $HOME/.ga-cmd 的檔案權限設定為只有自己能讀取:

設定 $HOME/.ga-cmd 權限
chmod 600 $HOME/.ga-cmd

接著即可使用 ga-cmd 自動取得一次性驗證碼了:

使用 ga-cmd 取得一次性驗證碼
ga-cmd myhost

配合 sshpass 自動登入

若有遠端主機在 SSH 登入時需要加上一次性驗證碼,可以用 ga-cmd 配合 sshpass 撰寫自動登入的指令稿。

首先下載 sshpass 的原始碼並進行編譯:

# 編譯 sshpass
tar zxvf sshpass-1.06.tar.gz
./configure
make

將編譯完成後的 sshpass 執行檔也放入 $HOME/bin/ 目錄之下。

最後撰寫自動登入指令稿:

#!/bin/sh
PASSWORD="YOUR_PASSWORD"
OTP=`~/bin/ga-cmd myhost`
SSHPASS="${PASSWORD}${OTP}" sshpass -v -e ssh $* ACCOUNT@MYHOST.COM

將這段指令稿儲存為 autootplogin,同樣放在 $HOME/bin/ 目錄裡面,這樣就可以利用這個指令稿自動登入需要一次性驗證碼的 SSH 主機了,若需要指定一些額外的 ssh 指令參數,則可直接加在其後方,例如建立 SSH 加密通道(tunnel):

# 建立 SSH 加密通道
autootplogin -L 8888:localhost:8888

分類:免費工具

讀者互動方式

發佈留言 取消回覆

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

主要資訊欄

搜尋

近期文章

  • C++ 語言使用 Crypto++ 實作 RSA 數位簽章教學與範例
  • C++ 語言使用 Crypto++ 實作 RSA-OAEP 搭配 SHA256 加密教學與範例
  • C++ 語言使用 Crypto++ 實作 AES 加密、解密、認證加密教學與範例
  • C++ 語言使用 Crypto++ 實作 MD5、SHA1、SHA2、BLAKE2 雜湊教學與範例
  • Ubuntu Linux 安裝、使用 Crypto++ 加密函式庫教學與範例
  • C 語言使用 OpenSSL 實作橢圓曲線 ECDH 金鑰交換教學與範例
  • Python 以 eciespy 實作 ECC 非對稱式加密方法教學與範例
  • C 語言使用 OpenSSL 實作 PBKDF2 教學與範例

推薦網站

  • Udemy 線上教學課程
  • Coursera 線上教學課程

關注本站

  • 電子郵件
  • Facebook

公益

  • 家扶基金會
  • 台灣世界展望會
  • Yahoo 奇摩公益
  • igiving 公益網
  • 兒福聯盟

Copyright © 2021 · Office Guide