开发者社区 问答 正文

云服务器 ECS Linux 系统 SSH 配置 Google 身份验证器实现双重(多因子)认证


本文就云服务器 ECS Linux 系统下,为 SSH 配置 Google 身份验证器实现双重(多因子)认证的相关操作进行简要说明。

安装



root 用户下,红帽,CentOS 和 Fedora 等系统上,安装 ‘pam-devel’,安装命令类似:
  1. yum install pam-devel make gcc-c++ wget

在 Ubuntu、Linux Mint 和 Debian 等系统上,安装‘libpam0g-dev’安装包,安装命令类似:
  1. apt-get install libpam0g-dev make gcc-c++ wget


下载google身份验证模块,并解压到相关的目录下:
       在当前目录下解压下载包:tar xvf libpam-google-authenticator-1.0-source.tar.bz2
进入解压后的目录进行编译安装:
  1. make./google-authenticator

执行 “./google-authenticator“ 命令后,它会向你提示一系列的问题,回答”y”即可 。
安装完成后,记录下图片所示 key,后续会用到:


配置



配置ssh,使其支持 Google 身份验证模块:
修改 /etc/pam.d/sshd 文件:

修改/etc/ssh/sshd文件:

重启ssh服务,使设置生效:/etc/init.d/sshd restart

最后,到第三方手机应用市场下载并安装 Google 身份验证器:




验证



如上配置完成后,后续再登录系统,就可以根据本来的账户密码加上 Google 的随机验证码来登录系统了
xshell 下登录系统示例:

接下来弹出的两个验证窗口中前后分别输入手机 App 上的 6 位数随机码和 root 账户的登录密码就可以成功登录系统了。


如果问题还未能解决,您可以到阿里云社区进行 免费咨询,或联系 云市场商家寻求帮助。

展开
收起
boxti 2017-10-23 14:32:01 3460 分享 版权
阿里云 AI 助理回答

您已经详细描述了在云服务器ECS的Linux系统中为SSH配置Google身份验证器以实现双因素认证的步骤。这个过程增强了系统的安全性,确保只有拥有有效密码和手机上Google Authenticator应用生成的一次性密码的用户才能登录。下面是对您步骤的一个简要回顾和补充说明:

安装步骤

  1. 依赖安装:根据您的Linux发行版,使用相应的包管理器(如yumapt-get)安装必要的开发库和工具。

    • 对于基于RPM的系统(如Red Hat, CentOS, Fedora):
      yum install pam-devel make gcc-c++ wget
      
    • 对于基于DEB的系统(如Ubuntu, Debian, Linux Mint):
      apt-get install libpam0g-dev make gcc-c++ wget
      
  2. 下载与编译Google身份验证模块

    • 使用wget下载libpam-google-authenticator源代码。
    • 解压并编译安装:
      tar xvf libpam-google-authenticator-1.0-source.tar.bz2
      cd libpam-google-authenticator-1.0/
      make
      sudo make install
      
    • 运行google-authenticator生成密钥,并按照提示操作。

配置步骤

  1. 修改PAM配置:编辑/etc/pam.d/sshd文件,添加以下行以启用Google Authenticator模块:

    auth required pam_google_authenticator.so
    
  2. 修改SSH配置:编辑/etc/ssh/sshd_config,确保以下设置正确:

    ChallengeResponseAuthentication yes
    AuthenticationMethods publickey,keyboard-interactive
    
  3. 重启SSH服务

    sudo systemctl restart sshd
    

验证与使用

  • 安装Google Authenticator应用到手机上,并输入之前记录的密钥进行绑定。
  • 之后尝试通过SSH登录时,除了输入用户名和密码,还需输入Google Authenticator应用显示的6位验证码。

故障排除

如果遇到问题,可以参考阿里云社区的免费咨询资源,或者联系云市场中的专业服务商获取帮助。记得检查系统日志(如/var/log/auth.log)以获取详细的错误信息,这有助于诊断问题所在。

通过上述步骤,您已成功提升了ECS实例SSH访问的安全级别,实现了多因素认证,大大降低了账户被恶意访问的风险。

有帮助
无帮助
AI 助理回答生成答案可能存在不准确,仅供参考
0 条回答
写回答
取消 提交回答