我們搬家了!點此前往

2020年1月12日 星期日

ssh 自動輸入OTP

作為一個普通高中生,需要連線到世界前20大的超算—臺灣杉上跑程式,也是合情合理的事。但是由於資安問題,需要輸入OTP(one-time password, OTP),開瀏覽器複製到終端機上真的是很麻煩,所以寫了以下腳本來自動輸入。

安裝需求套件

  • ga-cmd
    https://github.com/arcanericky/ga-cmd
    我們利用ga-cmd來獲取OTP,這個套件需要手動安裝並且手動配置。
    安裝完成後將金鑰寫在~/.ga-cmd
    格式如下:
    NAME=AUTH_KEY
    
    要手動刪除AUTH_KEY結尾的= 
  • sshpass
    用apt安裝即可
將以下腳本加入PATH指到的地方(以我的例子:~/.local/bin/ssh_otp)
記得存檔之後要 chmod +x <filename>

#!/bin/bash
host=$1
opt_name=$2
echo "please enter password for $host."
read -s password
otp=$(ga-cmd $opt_name)
export SSHPASS=${password}${otp}
sshpass -e ssh $host
接下來就可以用了
ssh_otp user@host OTP_NAME

沒有留言:

張貼留言