• 跳至主要導覽
  • 跳至主要內容
  • 跳至主要資訊欄
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

分類:免費工具

讀者互動方式

發佈留言 取消回覆

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

主要資訊欄

搜尋

近期文章

  • Linux 檢查、測試 CPU AES-NI 硬體加速加密指令集教學
  • CentOS Linux 7.9 自行編譯、安裝 OpenSSH 9.0p1 伺服器教學與範例
  • Python 使用 zipfile 模組壓縮、解壓縮 ZIP 檔案教學與範例
  • Python 以 LINE Notify 自動傳送即時訊息、圖片教學與範例
  • Linux 使用 Prometheus 與 Grafana 監控伺服器狀態、發送告警 Email 簡訊教學與範例
  • Linux 設定 pam_tty_audit 記錄 SSH 使用者操作指令教學與範例
  • Linux 封鎖、解鎖登入失敗次數過多的帳號 pam_faillock 教學與範例
  • Python 使用 pytube 自動下載 YouTube 影片教學與範例

推薦網站

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

關注本站

  • 電子郵件
  • Facebook

公益

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

Copyright © 2021 · Office Guide