概述

最近更新时间:2019-10-22 09:32:07

在访问目标设备时,为了保证访问的安全性,部分设备会要求使用公私钥认证的模式。

目标设备在开启密钥认证的情况下,客户端访问目标设备需要携带密钥信息进行认证。直连目标设备时配置密钥即可进行访问。当通过堡垒机进行单点登录访问目标设备时,会出现密钥信息无法通过堡垒机传递至目标设备造成访问失败的情况。

因此,使用三种具有代表性的客户端工具 SecureCRT、 Xshell 及 Putty 进行密钥转发。

准备工作

客户端工具版本选择

  • SecureCRT 推荐使用7.0版本及以上(Agent 管理组件存在无法全局保存密钥信息,仅可手动添加密钥,CRT 关闭后密钥失效的问题)。
  • Xshell 推荐选择5版本及以上(4版本暂不支持单点登录)。
  • Putty 推荐使用0.69版本及以上。

测试环境准备

  • 目标机 IP:192.168.19.37(目标机环境配置请参见本文 配置测试环境 章节)
  • 客户端 IP:192.168.20.118
  • 堡垒机 IP:192.168.19.31

配置测试环境

Linux 系统服务器,向目标账号下的authorized_keys文件中追加生成的公钥信息并保存。

例如使用 Debian7.5.0 中的用户 tom 进行密钥认证登录,则文件路径为:/home/tom/.ssh/authorized_keys

  1. 使用 tom 登录系统 。
  2. 若目标账号无.ssh文件夹,则可使用ssh-keygen命令创建,默认直接回车。
  3. 然后使用touch authorized_keys命令创建出authorized_keys文件。
    说明:

    authorized_keys文件必须为600权限或者644。

  4. 切换至 root 用户,配置/etc/ssh/sshd_config文件(为测试效果设置 ssh 登录仅可使用密钥登录),将AuthorizedKeysFile %h/.ssh/authorized_keys这一行之前的注释解开,并将 PasswordAuthentication 这一行注释解开并设置为 no。

  5. 输入命令/etc/init.d/ssh restart,重启 ssh 服务以使修改生效。生效后,使用静态口令无法登录。
说明:

  1. 堡垒机无需进行配置。
  2. 工具可随使用习惯灵活配置。