ubuntu ssh configue Google Authenticator

先安装ssh-server

apt-get install openssh-server

安装 Google Authenticator

git clone git@github.com:google/google-authenticator-libpam.git

#安装依赖工具
apt-get install autoconf automake libtool
apt-get -y install libpam0g-dev

./bootstrap.sh
./configure
make
sudo make install

Do you want authentication tokens to be time-based (y/n) y
https://www.google.com//chart?chs=200x200&chld=M|0&cht=qr&chl=otpauth://totp/jolestar@xxxxx%3Fsecret%xxxxxxxx
Your new secret key is: xxxxxx
Your verification code is xxxxx
Your emergency scratch codes are:
  xxxxxxxx

Do you want me to update your "/home/jolestar/.google_authenticator" file (y/n) y

# 禁止同一个token被多个人使用
Do you want to disallow multiple uses of the same authentication
token? This restricts you to one login about every 30s, but it increases
your chances to notice or even prevent man-in-the-middle attacks (y/n) y

#是否需要延长过期时间,默认是30秒,但允许提前和延后一个段,所以过期时间是1分钟30秒。
By default, tokens are good for 30 seconds and in order to compensate for
possible time-skew between the client and the server, we allow an extra
token before and after the current time. If you experience problems with poor
time synchronization, you can increase the window from its default
size of 1:30min to about 4min. Do you want to do so (y/n) n

#是否启用频次限制
If the computer that you are logging into isn't hardened against brute-force
login attempts, you can enable rate-limiting for the authentication module.
By default, this limits attackers to no more than 3 login attempts every 30s.
Do you want to enable rate-limiting (y/n) y

至此, Google Authenticator 的安装已经完成。

然后输入手机上生成的code 即可