RubyGems 导航菜单
指南

如何使用 OTP MFA 与 gem CLI。

使用 OTP 的多因素身份验证 (MFA) 通过使用手机上的身份验证器应用程序生成一次性密码 (OTP) 来工作,然后在命令行中输入该密码。本文档介绍了如何在配置 OTP 多因素身份验证 (MFA) 后使用它。有关 WebAuthn 指令,请参阅“在命令行中使用 WebAuthn 多因素身份验证”。

当你只启用了 OTP MFA,并且你的 MFA 级别为UI 和 API时,我们会要求你为 gem signingem pushgem owner --addgem owner --remove 提供 OTP。请查看 设置多因素身份验证 以了解如何启用 MFA。

此级别需要与 Ruby 2.6+ 一起提供的足够新的 gem 命令,或 RubyGems 3.0+

您可以使用 --otp 标志预先传递 OTP 代码,否则我们将在需要时提示您输入 OTP 代码。

$ gem signin
Enter your RubyGems.org credentials.
Don't have an account yet? Create one at http://rubygems.org.cn/sign_up
Email:   gem_author@example
Password:

You have enabled multi-factor authentication. Please enter OTP code.
Code:   111111
Signed in.

将 OTP 作为标志传递

$ gem signin --otp 111111
Enter your RubyGems.org credentials.
Don't have an account yet? Create one at http://rubygems.org.cn/sign_up
Email:   gem_author@example
Password:

Signed in.

请注意,gem signin 仅获取并存储您的 rubygems.org api 密钥。 gem signin 不等同于创建用户会话。每次您使用上述任何命令时,我们都会检查 OTP 代码。

从 cli 登录后发布 gem

$ gem push hello-0.0.1.gem
Pushing gem to http://rubygems.org.cn...
You have enabled multi-factor authentication. Please enter OTP code.
Code:   111111
Successfully registered gem: hello (0.0.1)