zoukankan      html  css  js  c++  java
  • windows上通过secureCRT和putty创建密钥登录

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

    1.linux下创建密钥对

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

    [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这个隐藏文件夹中。

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

    [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文件,假设有非常多的公钥。就都输出到这个文件里。

    然后我们将私钥id_rsa拷出来放在我们的windows的某个文件夹中,密钥登录的时候须要这个玩意,最后重新启动sshd服务。/etc/init.d/sshd restart成功后,我们就能够在windows上通过secureCRT或者putty等软件来登录到linux的某个用户了。这个用户就是authorized_keys这个文件所在的用户。

            1).secureCRT登录

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



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



    最后会提示要输入创建密钥时的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。指定私钥登录。

  • 相关阅读:
    百度2015校园招聘前端笔试题汇总
    雅虎网站页面性能优化的34条黄金守则(转)
    web跨域通信问题解决
    setTimeout(fn,0)的作用分析
    阿里校园招聘前端面试
    rownum浅谈(二)
    rownum浅谈(一)
    try catch finally 执行顺序面试题总结
    浅谈CPU、内存、硬盘之间的关系
    【多线程学习(2)】继承Thread类和实现Runnable接口、Callable接口的区别
  • 原文地址:https://www.cnblogs.com/lytwajue/p/6753723.html
Copyright © 2011-2022 走看看