文档章节

使用PuTTY进行KEY认证

李长春
 李长春
发布于 2011/11/15 12:14
字数 1573
阅读 1687
收藏 0
下面以Windows环境下PuTTY为例讲解使用KEY认证的方法,Linux/UNIX下与此类似,服务器端环境为OpenBSD。

首先,从下面的网址下载PuTTY的安装包(for Windows):

http://the.earth.li/~sgtatham/putty/latest/x86/putty-0.60-installer.exe

下完后双击安装,不再赘述。这个软件包自带了下面几个非常实用的软件:

PuTTYgen:生成KEY;

Pageant:管理KEY;

PuTTY:SSH客户端;

PSFTP:使用SSH上传/下载文件。

下面就来实例讲解用PuTTY的这几个软件对远程主机进行KEY认证和管理的方法。假设我们要在192.168.0.132这个远程主机上使用young_king这个用户名进行KEY认证和登录。

1.生成KEY

启动PuTTYgen,如下图:


在密钥长度栏输入想要的密钥长度,越大越安全。这里以最大的2048位为例,然后点“Generate”按钮,会开始生成KEY,生成过程中需要在下面的空白部分移动鼠标来生成随机数。

KEY生成完毕后,你可以输入一些标识信息,如下图:


还可以在下面的passphrase框内输入“保护码”,注意要输入两遍。“保护码”也就是密码的意思,用来保密私钥的,一定要记住这个哦!

都输入完毕后,点击下面的“Save public key”按钮保存公钥,如下图所示:


然后点击“Save private key”按钮保存私钥,如下图:


这个私钥最好不要保存在电脑上,我们把它拷贝到U盘上,随身带着,这就是我们的“KEY盘”。

要养成每月更换“保护码”的好习惯,更换“保护码”仍然要用到PuTTYgen这个软件,启动后点击“Load”,载入私钥,重新输入“保护码”,再确认一遍,然后点击“Save private key”保存即可!

2.启用KEY

上面生成了公钥和私钥,我们需要把公钥上传到远程主机的用户目录中,就要用到PSFTP这个软件了。启动它,如下图:


输入命令:open 192.168.0.132

接下来,PSFTP会列出远程主机上的RSA指纹以供识别,如下图:


这个指纹可以在远程主机上输入下面的命令查看:

ssh-keygen -l -f /etc/ssh/ssh_host_rsa_key

请把这个指纹记在纸上,随身携带,和远程主机连接的时候就拿出来对比一下(这么做主要是为了防止连接被人劫持和指纹被伪造)。

如果上面PSFTP显示的指纹和远程主机上的不一致,那么毫无疑问是伪造的了,直接回车断开连接。如果相符,你可以输入“y”来保存这个指纹到本地计算机上(不推荐),或输入“n”只是这次连接使用。

随后PSFTP会让你输入登录用户名和密码,并自动进入该用户的根目录,如下图(以root为例):


现在我们要把第一步生成的公钥上传到远程主机上(请把这个公钥复制到C:\Documents and Settings\Administrator目录先,如果你的Windows不是用Administrtor登录的,就替换成你登录用的用户名)。输入命令:put young_king,可以看到,公钥已经上传到/root目录了,见下图:


PuTTY 生成的KEY并不能直接使用,需要转换一下。用PuTTY登录(此时上面修改的端口尚未启用,还是默认的22端口),以root身份执行:

ssh-keygen -X -f /root/young_king > /home/young_king/.ssh/authorized_keys

这就把公钥成功导入到young_king的目录中了,就可以被young_king这个用户使用了!

导入成功后,要删除多余的公钥:

rm /root/young_king

下面介绍几个PSFTP常用的命令:

open xxx.xxx.xxx.xxx:打开远程主机(xxx.xxx.xxx.xxx为IP或域名);

put xxxxxxxx:向远程主机上传文件(该文件需要事先拷贝到C:\Documents and Settings\Administrator目录);

get xxxxxxxx:从远程主机下载文件(下载后保存在C:\Documents and Settings\Administrator目录);

cd xxxxxx:进入远程主机的相应目录;

exit:退出PSFTP(也可以点右上角的叉关闭,不过不推荐这样做)。

更多的命令可以参看PuTTY的帮助文件,这个帮助写得不错。

3.使用KEY登录

我们上面虽然修改了SSH的配置文件(/etc/ssh/sshd_config),但还没有启用。输入下面的命令启用新的SSH配置,以便我们用KEY登录:

kill -HUP `cat /var/run/sshd.pid`

PuTTY提供了一个KEY的管理程序,上面已经提到,是Pageant,我们使用这个程序来进行 KEY登录。

启动Pageant,它会自动缩小到任务栏的通知区域,右键单击,选择“Add key”,会弹出个对话框让我们选择。插入上面制作好的“KEY盘”,并选择保存的私钥,会弹出个对话框让我们输入“保护码”,如下图:

如果安装PuTTY时选择了让Pageant关联.ppk文件,则双击私钥可以自动启动Pageant。


输入在生成KEY时输入的“保护码”,私钥就被导入到Pageant中了。再右键单击任务栏通知区的Pageant图标,选择第一项“New session”,Pageant会自动启动PuTTY,等待输入远程主机的相关信息,如下图:


输入IP(或域名)和端口号,点击最下面的“Open”按钮,PuTTY就会登录远程主机了。和PSFTP类似,会弹出个对话框让你确认远程主机的RSA指纹,如下图。同理,指纹不同就表示连接被劫持或指纹被伪造,点“取消”断开连接;指纹相同就点“否”,不保存主机公钥到本地计算机。


随后会让你输入用户名,输入“young_king”,看看,自动就登录上去了!



前面更改SSH配置的时候,已经禁用了root远程登录和使用密码登录,只能使用KEY才能登录进系统。想要维护系统的时候,就用这个KEY登录,再su成 root。而且,需要上传/下载文件的时候,就用PSFTP,所有的操作都在SSH连接下进行,还有KEY的保护,安全性不知道提升了多少倍!黑客想要破解真是难于上青天!

本文转载自:http://blog.chinaunix.net/space.php?uid=13469565&do=blog&id=2886757

李长春
粉丝 81
博文 249
码字总数 117406
作品 0
海淀
私信 提问
使用puTTY和Xshell远程连接Linux以及密钥认证

使用puTTY和Xshell远程连接Linux以及密钥认证 使用puTTY远程连接Linux 首先,安装puTTY,它是一个免费的开源的软件,且操作和配置非常简单易用,下载地址:www.chiark.greenend.org.uk 下载安...

风流花生
2017/10/19
44
0
PuTTY使用密钥登录到Linux

在Windows管理Linux服务器时,常使用putty登陆ssh进行远程管理。默认登陆验证方式为密码认证,该方式虽然简单,但每次登陆都要输入一长串的密码,相当麻烦。而且,如果万一把root允许登陆打开...

Surjur
2015/03/23
624
0
windows下FileZilla使用sftp(SSH-2)

puttygen.exe生成的密钥文件(SSH-2 RSA) 分别有公钥和私钥 服务器端:~/.ssh/authorized_keys 把公钥复制到这个openssh认证文件里面。 客户端FileZilla: 编辑->设置->SFTP->添加密码文件-...

jing31
2011/01/07
8K
0
SSH客户端PuTTY 0.61发布

SSH Client PuTTY 0.61 Released SSH客户端PuTTY 0.61发布 posted by HAL2001 on Wed 13th Jul 2011 22:37 UTC 发表于:2011年7月14日 北京时间06:37 "After four long years, here comes a ......

xyxzfj
2011/07/14
78
0
基于公钥认证方式的 OpenSSH Server 自动登录完全手册

Linux/Windows 下的 SSH 自动登录指南 假设要以用户 rainux 的身份登录运行 OpenSSH Server 的远程主机 www.rainux.org(现在几乎所有的 Linux 服务器都使用 OpenSSH Server 作为 SSH Server...

红薯
2009/03/14
1K
2

没有更多内容

加载失败,请刷新页面

加载更多

计算机实现原理专题--二进制减法器(二)

在计算机实现原理专题--二进制减法器(一)中说明了基本原理,现准备说明如何来实现。 首先第一步255-b运算相当于对b进行按位取反,因此可将8个非门组成如下图的形式: 由于每次做减法时,我...

FAT_mt
今天
5
0
好程序员大数据学习路线分享函数+map映射+元祖

好程序员大数据学习路线分享函数+map映射+元祖,大数据各个平台上的语言实现 hadoop 由java实现,2003年至今,三大块:数据处理,数据存储,数据计算 存储: hbase --> 数据成表 处理: hive --> 数...

好程序员官方
今天
7
0
tabel 中含有复选框的列 数据理解

1、el-ui中实现某一列为复选框 实现多选非常简单: 手动添加一个el-table-column,设type属性为selction即可; 2、@selection-change事件:选项发生勾选状态变化时触发该事件 <el-table @sel...

everthing
今天
6
0
【技术分享】TestFlight测试的流程文档

上架基本需求资料 1、苹果开发者账号(如还没账号先申请-苹果开发者账号申请教程) 2、开发好的APP 通过本篇教程,可以学习到ios证书申请和打包ipa上传到appstoreconnect.apple.com进行TestF...

qtb999
今天
10
0
再见 Spring Boot 1.X,Spring Boot 2.X 走向舞台中心

2019年8月6日,Spring 官方在其博客宣布,Spring Boot 1.x 停止维护,Spring Boot 1.x 生命周期正式结束。 其实早在2018年7月30号,Spring 官方就已经在博客进行过预告,Spring Boot 1.X 将维...

Java技术剑
今天
18
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部