📜  我可以为我的 ubuntu ssh 设置 2fa - Shell-Bash (1)

📅  最后修改于: 2023-12-03 15:09:57.243000             🧑  作者: Mango

我可以为我的 ubuntu ssh 设置 2fa - Shell-Bash

本文介绍如何在Ubuntu上为SSH设置2fa(双因素认证)。

前提条件

在开始设置之前,请确保您已经完成以下步骤:

  • 拥有超级用户权限
  • 已经安装了 google-authenticator 软件

如果您还没有安装此软件,请运行以下命令:

sudo apt-get update && sudo apt-get install google-authenticator -y
第一步:配置 Google Authenticator

运行以下命令为用户配置Authenticator:

google-authenticator

您会看到以下提示:

Do you want authentication tokens to be time-based (y/n)

选择 y 以启用基于时间的令牌。

接下来,您将看到一个二维码,以及一个“Secret Key”。请将此密钥记录在安全的位置,因为它只显示一次。请勿与任何人共享此密钥。

使用 Google Authenticator 应用程序扫描二维码,或手动添加密钥。

第二步:修改 SSH 配置

打开 /etc/ssh/sshd_config 文件:

sudo nano /etc/ssh/sshd_config

找到以下行:

ChallengeResponseAuthentication no

并将其替换为:

ChallengeResponseAuthentication yes

添加以下行:

AuthenticationMethods publickey,keyboard-interactive

保存并关闭文件。运行以下命令来重新加载 SSH 配置:

sudo systemctl restart sshd
第三步:测试

现在尝试通过 SSH 登录。您会看到类似下面的信息:

Please enter your password: 
Verification code: 

输入您的密码,然后使用 Google Authenticator 应用程序生成的代码进行验证。

如果一切正常,则您将被连接到远程服务器。否则,请检查您的Authenticator配置,并确保SSH配置更改正确。

以上就是在Ubuntu上为SSH设置2fa的步骤,让我们的SSH更加安全可靠。