如何通过 ssh 连接设置两因素身份验证 (sms)

如何通过 ssh 连接设置两因素身份验证 (sms)

我正在 ubuntu 16.04 上编写 bash 脚本,我想设置通过 SSH 连接上的 SMS 进行两因素身份验证到服务器。我看到有一种方法可以使用谷歌身份验证系统来做到这一点。但为此,客户必须先下载一个应用程序。我想向手机发送一条短信(包含代码的简单文本),用户将使用该短信加上他的密码来访问服务器。即使我可以通过 API 使用服务或非免费网关来发送 SMS。请问你能帮帮我吗??感谢您。

答案1

我认为你应该首先构建一个Web服务或Web服务器来连接SMS网关。

然后您可以使用 CURL 来调用您的 Web 服务。

这就是我的想法!

答案2

即使您不应用我的答案,我也希望有些东西能对您有所帮助。

我将省略实现细节,因为它将取决于您的 API。

假设您使用“bash”,因此在每个用户的主目录中,您可以创建“.bashrc”(如果尚不存在)并放置一些仅向用户发送短信并返回已发送密码的程序。如果超时或密码不匹配,则注销用户。需要捕获信号 2、11、15 以防止 STOP/KILL 事件。我写了伪代码来澄清:

〜/ .bashrc:

trap_signals
sent_password = send_sms_program <msisdn> <timeout>
print "Enter password: "
input_password = read_password_from_console
if (<timeout>) {
   logout
} else {
  if (input_password == key) {
     exit
  } else {
    logout
  }
}

相关内容