Linux与开源

  |  手机版

收藏网站

投稿QQ:1745232315

IT专家网,汇聚专业声音 解析IT潮流 IT专家网,汇聚专业声音 解析IT潮流

网络

专家视点在现场环球瞭望
IT专家网 > CIO子站 > Linux与开源

如何在PuTTY中使用SSH公匙/密匙?

作者:Sander van Vugt出处:TechTarget2007-09-24 13:28

  【IT专家网独家】虽然Linux在数据中心的应用越来越普及,不过还是有很多管理员在使用公司Windows桌面办公。而在各种远程登录管理Linux服务器的工具中,PuTTY无疑是最佳选择(Putty是一个免费的、Windows 32平台下的telnet、rlogin和ssh客户端,但是功能丝毫不逊色于商业的telnet类工具,用它来远程管理Linux十分好用)。在这篇文章中,你将了解到如何使用SSH公匙/密匙(public/private keys)使你的Linux服务器与PuTTY之间的通信更加安全。

  通常可以使用三种不同的因素来证明你的身份:你知道的事物、你拥有的事物以及关于你的资料。为了使认证过程更加可靠,你通常应该至少要使用这三个要素中的两个要素。而当你使用SSH公匙/密匙进行认证,并且密匙设定了Passphrase时(即密码短语,功能与密码一样,只是长度比密码更长),你就可以结合两种认证要素,从而使认证过程更加可靠,你的服务器更加安全。

  当使用SSH公匙/密匙进行认证时,用户需要在他的工作站生成一个公匙/密匙对。生成以后,用户必须把公匙复制到名为authorized_keys的文件中。这个文件通常位于服务器的用户主目录里,被放置在一个名为.ssh的隐藏子目录中。在下面的9个步骤中,你将学会如何在一个使用PuTTY的Windows工作站里生成公匙/密匙对:

  1.从http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html站点下载完整的PuTTY安装包,安装包中包含PuTTYgen命令,运行这项命令,它就会打开PuTTYgen Key Generator窗口(密匙生成窗口)。

  2.在窗口的下部明确你想要生成什么类型的密匙。我建议你使用一个2048比特的DSA密匙,因为如果低于该比特数值的话,所获得的安全级别就不够高。选择这个选项后,点击“生成”。为了产生密匙,你必须把鼠标指针在PuTTYgen窗口来来回回地移动,这样可以产生出PuTTYgen用来生成密匙对的随机数据。

  3.一旦密匙对生成后,你就会看到一个窗口。在此窗口中,你需要详细指明密匙的特性。以下你必须完成两项重要任务:首先,你要把你看到的位于窗口上半部分的公匙复制并将它储存在一个文件内。不要使用“保存公匙(Save public key)”选项,因为这样储存的密匙格式在Linux中将不可用。因此,复制这个公匙,打开Notepad,把这个密匙存入一个新建的文件中,接着把该文件存入你的电脑。

  4.下一步,仍然是同一窗口,你可以设定一个密码短语来保护私匙,防止其他人擅自使用。当然,你也可以选择不使用密码短语,但是这中间确实存在不小的安全风险,因此非常推荐使用密码短语来保护私匙。选择一个不是太容易被猜到的字符串,并将它输入“钥匙密码(Key passphrase)”和“确认密码(Confirm passphrase)”方框中。然后,点击“保存私匙”将该密码短语存入一个文件。

  5.现在打开PuTTY窗口,把你想要使用密码短语输入至最终连接配置框。在屏幕的较低部分,打开Connection〉SSH〉Auth。这样就打开了另一个窗口。在这个窗口,点击“浏览”,浏览私匙所保存的地址,然后把私匙添加到这个地址。

  6.接下来,仍然是在PuTTY里,回到窗口左边部分的“Session”选项,然后点击“保存”,这样下次你打开PuTTY界面时,私匙同样是有效可用的。

  7.现在你暂时需要退出PuTTY窗口,打开一个Window命令提示符。在这个命令提示符中,使用“pscp”命令(同样是PuTTY安装包的一部分)将公匙复制在你的Linux服务器的一个临时文件中。在将要使用这个公匙的用户的主目录中创建这个文件;在大多数情况下,那应该是用户根(user root)。在下面的例子中你会看到如何将PuTTY公匙复制到 “myserver.example.com” 服务器的用户根的主目录的一个命名为tempkey的临时文件中,命令如下:

  

以下是引用片段:
pscp pubkey root@myserver.example.com:/root/tempkey

  8.现在需要建立一个SSH连接到服务器,在服务器上,使用cd来启动用户根主目录,并使用下列命令将公匙添加到子目录“ssh”的authorized_keys文件中:

  

以下是引用片段:
cat tempkey >> .ssh/authorized_keys

  9.现在你已经准备就绪了。由于SSH的所有分布区都可以默认接受公匙/私匙登录,所以下次你想建立与那个服务器的连接时,PuTTY就能自动使用钥匙对帮助你登录。

  在这篇文章中,你已经了解到了如何使用公匙/私匙使Windows客户端与Linux服务器之间建立更安全可靠的连接。如果可能的话就使用这些方法吧,因为在使用一个不可信的网络(如因特网)来建立远程连接时,使用密匙要比使用密码安全得多。(编译:邹铮)

  此文章中文版权归TechTarget和天极公司所共有,任何第三方不得转载。

  查看本文国际来源>>

相关文章

关键词:操作系统 Linux 开源技术 信息化 IT CIO 技巧

责任编辑:徐蕊

专题推荐

原创文章

微博互动

白皮书

网警备案