windows上经过secureCRT和putty建立密钥登陆

        前面介绍了linux的ssh远程登陆协议ssh无password登陆方式。这里在windows下经过secureCRT和putty登陆linux来看一下详细的密钥建立,配置和登陆。也算作个备忘录吧。linux

1.linux下建立密钥对算法

        还记得前面说的怎么建立密钥对吧:windows

[sshtest@localhost ~]$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/sshtest/.ssh/id_rsa): 
Created directory '/home/sshtest/.ssh'.
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /home/sshtest/.ssh/id_rsa.
Your public key has been saved in /home/sshtest/.ssh/id_rsa.pub.
The key fingerprint is:
22:e4:e8:60:24:b5:ac:bd:53:52:4a:b1:08:a0:e9:7b sshtest@localhost.localdomain
The key's randomart image is:
+--[ RSA 2048]----+
|+ o              |
|o= +             |
|=.= o            |
|++ *             |
|oo= + . S        |
|.o.+ . .         |
| .+E             |
|  ..             |
|                 |
+-----------------+

        假设想登陆的时候不用输建立密钥的password,那么上面就直接回车,不用输。运行完这个过程后,咱们的密钥对就成功建立了,在.ssh这个隐藏文件夹中。dom

查看发现有两个文件,一个私钥id_rsa,一个公钥id_rsa.pub,而后咱们将公钥的内容输出到一个叫authorized_keys的文件里:ssh

[sshtest@localhost ~]$ cd .ssh/
[sshtest@localhost .ssh]$ ls
id_rsa  id_rsa.pub
[sshtest@localhost .ssh]$ cat id_rsa.pub >> authorized_keys
[sshtest@localhost .ssh]$ ls
authorized_keys  id_rsa  id_rsa.pub

        为何要输出到authorized_keys的文件里呢,前面也说过了。因为在/etc/ssh/sshd_config文件里配置的。默以为authorized_keys文件,假设有很是多的公钥。就都输出到这个文件里。ide

而后咱们将私钥id_rsa拷出来放在咱们的windows的某个文件夹中,密钥登陆的时候需要这个玩意,最后从新启动sshd服务。/etc/init.d/sshd restart成功后,咱们就可以在windows上经过secureCRT或者putty等软件来登陆到linux的某个用户了。这个用户就是authorized_keys这个文件所在的用户。spa

        1).secureCRT登陆.net

           执行secureCRT软件。输入要登陆到的主机的IP地址,port端口,假设没特别设置默以为22以及要登陆到用户的username,而后在authentication选项中仅仅勾选PublicKey或者将PublicKey选项提到首选。再选中它点击Properties:rest



在弹出的对话框中点击这个button选中你拷出来的私钥点击OK。而后点击当前窗口的connectbutton:code



最后会提示要输入建立密钥时的password。假设设置过:



这样咱们就可以登陆到linux中指定的用户了:



这个过程当中必定要记得将.ssh文件夹权限设置为700,将authorized_keys文件的权限设置为600,否则是会报错的:



        2).putty登陆

           用putty就略微麻烦了一点,需要下载一个叫puttygen的东东来转换私钥的格式,前面操做都是同样的。建立密钥对。而后改动权限,将私钥拷到windows的某个文件夹。

putty私钥的格式不一样。因此需要puttygen来转换。

执行puttygen软件,点击Load选择拷出来的私钥:



假设找不到你的私钥文件,就点击右下角的文件类型,选择显示所有文件。因为私钥文件在linux下生成的,没有扩展名:



选择私钥以后会提示输入建立密钥时设置的password,假设设置过:



转换成功。接下来就需要保存咱们转换格式后生成的私钥文件,点击Save private keybutton保存:



putty的私钥扩展名是.ppk,这时你发现私钥文件已经保存成功。接下来就是使用putty密钥登陆:


执行putty软件,左边选择Connection->SSH->Auth点击Browsebutton选择上面转换格式后生成的私钥文件.ppk:



而后在左边选择Session输入要登陆主机linux的IP和port,点open:



最后输入要登陆的用户的username和建立私钥时设置的password,假设设置过:



2.windows下secureCRT和putty建立密钥对

        前面说的是在linux中建立的密钥对,现在选择用secureCRT和putty建立密钥对,而后将公钥上传至主机后再经过密钥登陆。若是咱们已经将公钥上传到了主机为key.pub。不能像上面直接输出到authorized_keys,必须要转换成openssh能识别的格式,这里就要ssh-keygen -i -f key.pub >> authorized_keys,authorized_keys文件必须是600的权限,而且要存在于.ssh隐藏文件里,若是没有就建立,权限为700。最后从新启动sshd服务/etc/init.d/sshd restart。如下看看两种建立密钥对的方式和密钥登陆的方式。

        1).secureCRT建立和登陆

           执行secureCRT软件。和上面同样选择PublicKey。而后点Properties。在弹出的对话框中选择Create Identity File来建立密钥对:



而后下一步->选择算法DSA或者RSA再下一步->设置密钥password再下一步->设置密钥长度默认1024下一步->下一步->选择密钥对保存的位置。默以为个人文档中再完毕->是否上传。选择否。这样密钥对就生成了,私钥为Identity。公钥为Identity.pub:



将公钥拷到linux主机上在咱们要登陆的用户文件夹中运行上面的红色部分的操做,而后经过PublicKey指定咱们生成的Identity私钥文件登陆。向上面同样。

        2).putty建立和登陆

           putty建立密钥对仍是要靠puttygen这个软件,执行puttygen软件,点击Generatebutton,本身主动建立密钥对。也可以设置密钥的长度,默以为2048。1024要比2048的建立速度快些。

建立完毕后。可以看到公钥的内容。而后设置密钥password。分别保存公钥和私钥。而后将公钥上传到主机上执行上面红色部分操做,也可以仅仅保存私钥而后将公钥内容拷贝到linux主机的authorized_keys文件里:


最后再执行putty。指定私钥登陆。

相关文章
相关标签/搜索