GitHub:

https://github.com/multiOTP/multiOTPCredentialProvider

安装完成并重启后,RDP 登录就会立即启用二次验证。

因此请务必保证服务器至少有一种本地登录方式,例如:

  • VMware Console
  • Hyper-V Console
  • VNC
  • iDRAC / iLO / IPMI
  • 物理显示器

第一步 安装 multiOTP

运行安装包。

一路 Next 即可。

安装过程中有两个地方需要注意。

① Login Title

这里可以修改 Windows 登录界面显示的标题。

同时记得勾选:

No remote server, local multiOTP only

表示使用本地模式,不依赖 Radius、LDAP 等服务器。

image.png|300

② 验证范围

推荐选择:

Only Remote

也就是:

  • 本地登录无需验证码
  • RDP 登录需要验证码

这样即使手机丢失,仍然可以通过 VNC、IPMI 等方式进入系统恢复配置。

对于服务器来说,也是最推荐的方案。

image.png|300

安装完成后重启服务器。

第二步:配置 TOTP

重启后,请不要使用 RDP,而是通过:

  • VMware
  • VNC
  • IPMI
  • 本地控制台

登录系统。

随后,以管理员身份打开 CMD。

进入安装目录:

cd ”C:\Program Files\multiOTP”

创建 Token

执行:

multiotp.exe -fastcreatenopin Administrator

即可为 Administrator 用户生成新的 TOTP 密钥。

生成二维码

执行:

multiotp.exe -qrcode Administrator Administrator.png

程序会在当前目录生成二维码图片。

手机扫码

打开任意认证器,例如:

  • 腾讯身份验证器
  • Google Authenticator
  • Microsoft Authenticator
  • 2FAS

扫描二维码即可完成绑定。

测试验证码

输入:

multiotp.exe Administrator 123456

将123456替换为手机当前显示的验证码。

如果命令没有任何输出,则说明验证成功。

登录效果

以后通过远程桌面登录时:

首先输入:

  • 用户名
  • 密码

验证成功后,会自动弹出:

One-Time Password

输入手机上的动态验证码即可完成登录。

整个登录流程如下:

  1. 发起 RDP 远程连接
  2. 输入账号密码
  3. 输入 TOTP 动态验证码
  4. 进入 Windows 系统

常见问题

登录一直提示验证码错误?

通常检查以下几点:

  • Windows 时间是否正确
  • 手机时间是否自动同步
  • 是否扫描了最新生成的二维码
  • 是否重新生成过 Token

由于 TOTP 完全依赖时间计算,只要服务器时间偏差过大,就会导致验证失败。


本地登录也需要验证码吗?

如果安装时选择Only Remote:

  • 本地登录:无需验证码
  • RDP 登录:需要验证码

这也是最推荐的配置方式。


支持多个 Windows 用户吗?

支持。

每一个 Windows 用户都可以拥有自己的 TOTP Secret。

例如:

multiotp.exe -fastcreatenopin user1
multiotp.exe -fastcreatenopin user2
multiotp.exe -fastcreatenopin user3

不同用户分别使用自己的二维码绑定即可。


手机丢了怎么办?

只要还能通过:

  • VMware Console
  • VNC
  • IPMI
  • 本地登录

进入系统,就可以重新生成 Token 或卸载 multiOTP。

因此,务必保留至少一种本地登录方式。

参考: