SSH使用双因子认证

普通ssh远程连接,使用帐号密码就能登陆,在使用双因子认证后,在输入密码后还需要输入验证码,以增强系统的安全。
PS:更安全的是使用密钥登陆,以及限制登陆IP, 或者使用跳板机,环境不同方法亦有所区别,还需要配合系统的其他安全措施,方能更好的提高系统的安全。
PPS:Xshell 工具亦会泄漏帐号、密钥。建议从官网下载软件。

一 系统安装google authenticator
ubuntu:
$ sudo apt-get install libpam-google-authenticator
centos:
$ yum install google-authenticator
需提前安装EPEL源

二 生成验证密钥
$ google-authenticator
命令运行后,会出现二维码。 手机下载安装 google-authenticator 扫码激活。
生成后按提示,输入Y 进行下一步操作。
secret key 项备份,以备将来更换手机、安装APP时,激活验证码。
mergency scratch codes 此项数值用于紧急时使用。使用后作废。

三 SSH 添加 authenticator
修改 PAM 文件
$ sudo vi /etc/pam.d/sshd
添加如下内容:
auth required pam_google_authenticator.so
修改 SSH 配置文件
$ sudo vi /etc/ssh/sshd_config
ChallengeResponseAuthentication yes

四 重启SSH 服务
创建新的连接,验证登陆。