linux☞ssh-MFA自动登陆

阅读量: zyh 2020-06-06 11:33:54
Categories: > Tags:

前言

ssh 关联MFA后,安全度增加了很多,但是每次手动输入MFA动态口令比较麻烦.所以记录一下自动交互输入MFA口令

命令安装

sudo apt install oathtool gnupg2 expect

oathtool 是我们用来生成MFA口令的工具.

expect 用来编写交互程序

登陆交互脚本

#!/usr/bin/expect
trap {
 set rows [stty rows]
 set cols [stty columns]
 stty rows $rows columns $cols < $spawn_out(slave,name)
} WINCH

set timeout 5
set MFAToken "我是MFA的TOKEN"
spawn 我是ssh命令
expect "MFA auth"
send "[exec oathtool -b --totp $MFAToken]\r";
interact

将脚本中的TOKEN和命令替换为自己的.

注意

如果你发现你登陆不了, 每次都验证错误, 那么你应该检查下你机器的时间是否正常.