在 Cisco SG300 交换机上为 SSH 启用公钥验证

以前,我写过如何通过启用(how you can enable SSH access to your Cisco switch)GUI界面中的设置来启用对Cisco 交换机的 SSH 访问。如果您想通过加密连接访问您的交换机CLI ,这非常好,但它仍然只依赖于用户名和密码。(CLI)

如果您在需要非常安全的高度敏感的网络中使用此交换机,那么您可能需要考虑为您的SSH连接启用公钥身份验证。实际上,为了获得最大的安全性,您可以启用用户名/密码和公钥身份验证来访问您的交换机。

在本文中,我将向您展示如何在SG300 Cisco(SG300 Cisco)交换机上启用公钥身份验证,以及如何使用 puTTYGen 生成公钥和私钥对。然后,我将向您展示如何使用新密钥登录。此外,我将向您展示如何配置它,以便您可以仅使用密钥登录或强制用户输入用户名/密码以及使用私钥。

注意:在开始学习本教程之前,请确保您已经在交换机上启用了 SSH 服务,我在上面链接的上一篇文章中提到了这一点。 (Note: Before you get started on this tutorial, make sure you have already enabled the SSH service on the switch, which I mentioned in my previous article linked above. )

通过公钥(Public Key)启用SSH 用户身份验证(SSH User Authentication)

总体而言,使公钥身份验证适用于SSH的过程很简单。在我的示例中,我将向您展示如何使用基于 Web 的GUI启用这些功能。我尝试使用CLI界面启用公钥身份验证,但它不接受我的私有RSA密钥的格式。

一旦我开始工作,我将使用CLI命令更新这篇文章,这些命令将完成我们现在通过GUI执行的操作。首先(First),单击安全性(Security),然后单击SSH 服务器( SSH Server),最后单击SSH 用户身份验证( SSH User Authentication)

在右侧窗格中,继续并选中SSH User Authentication by Public Key 旁边的 Enable 框( Enable box next to SSH User Authentication by Public Key)。单击应用(Apply)按钮以保存更改。不要(Don)检查自动登录(Automatic login)旁边的启用(Enable)按钮,因为我将在下面进一步解释。

现在我们必须添加一个SSH用户名。在我们开始添加用户之前,我们首先必须生成一个公钥和私钥。在此示例中,我们将使用 puTTYGen,它是 puTTY 附带的一个程序。

生成私钥和公钥

要生成密钥,请先打开 puTTYGen。您将看到一个空白屏幕,并且您真的不必更改下面显示的默认设置中的任何设置。

单击“生成(Generate)”按钮,然后在空白区域周围移动鼠标,直到进度条一直穿过。

生成密钥后,您需要输入密码,这基本上就像解锁密钥的密码。

使用长密码来保护密钥免受暴力攻击是个好主意。一旦您输入了两次密码,您应该单击保存公钥(Save public key)保存私钥(Save private key)按钮。确保这些文件保存在安全的位置,最好是在某种需要密码才能打开的加密容器中。查看我关于使用VeraCrypt 创建加密卷的(VeraCrypt to create an encrypted volume)帖子。

添加用户和密钥

现在回到我们之前的 SSH 用户身份验证( SSH User Authentication)屏幕。在这里,您可以从两个不同的选项中进行选择。首先,转到管理(Administration)-用户帐户( User Accounts)以查看您当前拥有哪些帐户用于登录。

如您所见,我有一个名为 akishore 的帐户用于访问我的交换机。目前(Currently),我可以使用此帐户访问基于 Web 的GUICLI返回(Back)SSH 用户身份验证(SSH User Authentication)页面,您需要添加到SSH 用户身份验证表(通过公钥)(SSH User Authentication Table (by Public Key))的 用户可以与您在管理 - 用户帐户(Administration – User Accounts)下的用户相同,也可以不同。

如果您选择相同的用户名,则可以选中自动登录下的(Automatic Login)启用(Enable)按钮,当您登录交换机时,您只需输入私钥的用户名和密码即可登录.

如果您决定在这里选择不同的用户名,那么您将收到一个提示,您必须在其中输入SSH私钥用户名和密码,然后您必须输入您的正常用户名和密码(在Admin – User Accounts下列出) . 如果您想要额外的安全性,请使用不同的用户名,否则只需将其命名为与当前用户名相同。

单击(Click)添加(Add)按钮,您将弹出添加SSH 用户窗口。(Add SSH User)

确保将密钥类型(Key Type)设置为RSA,然后继续打开您之前使用记事本(Notepad)之类的程序保存的公共SSH密钥文件。复制全部内容并将其粘贴到公钥(Public Key)窗口中。如果您在顶部收到成功(Success)消息,请单击应用(Apply),然后单击关闭。(Close)

使用私钥登录

现在我们要做的就是使用我们的私钥和密码登录。此时,当您尝试登录时,您需要输入两次登录凭据:一次用于私钥,一次用于普通用户帐户。一旦我们启用自动登录,您只需输入私钥的用户名和密码即可进入。

打开 puTTY 并像往常一样在主机名框中输入交换机的 IP 地址。( Host Name)但是,这一次,我们还需要将私钥加载到 puTTY 中。为此,请展开Connection,然后展开SSH,然后单击Auth

单击“用于身份验证的私钥文件”下的“(Private key file for authentication)浏览(Browse)”按钮,然后选择您之前从 puTTY 中保存的私钥文件。现在单击“打开(Open)”按钮进行连接。

第一个提示将是login as,这应该是您在SSH用户下添加的用户名。如果您使用与主用户帐户相同的用户名,则没关系。

就我而言,我对两个用户帐户都使用了 akishore,但我为私钥和我的主用户帐户使用了不同的密码。如果您愿意,您也可以使密码相同,但实际上这样做没有任何意义,尤其是在您启用自动登录的情况下。

现在,如果您不想双重登录才能进入交换机,请选中SSH 用户身份验证(SSH User Authentication)页面上自动登录( Automatic login)旁边的启用框。(Enable)

启用此功能后,您现在只需输入SSH用户的凭据即可登录。

这有点复杂,但一旦你玩弄它就有意义了。就像我之前提到的,一旦我能够以正确的格式获取私钥,我也会写出CLI命令。(CLI)按照此处的说明,通过SSH(SSH)访问您的交换机现在应该更加安全。如果您遇到问题或有疑问,请在评论中发表。享受!



About the author

我是一名技术人员,多年来一直在音频和用户帐户领域工作。我有使用 Windows 和 Mac 电脑以及苹果产品的经验。自 2007 年以来,我还一直在教授 Apple 产品的使用。我的主要专业领域是用户帐户和家庭安全。除此之外,我还使用过各种软件程序,包括 Windows 7 Home Premium、8.1 Pro、10 Pro 和 12.9 Mojave。



Related posts