前面介绍了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。指定私钥登录。

windows上通过secureCRT和putty创建密钥登录的更多相关文章

  1. windows上使用SecureCRT连接linux

    前言: SecureCRT是一款支持SSH(SSH1和SSH2)的终端仿真程序,简单地说是Windows下登录UNIX或Linux服务器主机的软件.这样操作的时候不必进入到linux桌面,可以更方便的 ...

  2. Centos7 Putty SSH密钥登录

    在本地电脑打开PuTTYgen程序,点击Generate生成密钥,可以再设置一层密码,保存公钥和私钥到本地文件,保存好,最好多处备份 先用密码登录远程Centos vim ~/.ssh/authori ...

  3. linux上安装gitolite和windows上安装tortoisegit及msysgit

    1 quick install+setup for experts If your Unix-fu and ssh-fu are good, just copy your ssh public key ...

  4. SecureCRT 使用密钥登录 Ubuntu

    记录 SecureCRT 通过 SSH 使用密钥登录 Ubuntu. 具体步骤如下: 1. 使用 SecureCRT 生成密钥对: 工具 -> 创建公钥 -> 密钥类型 RSA -> ...

  5. 通过SecureCRT和PuTTY连接臻云CentOS版云主机

    原文地址:http://jingyan.baidu.com/article/fa4125acb6648128ac7092dc.html 如何通过SecureCRT和PuTTY工具远程连接臻云CentO ...

  6. 增强VPS SSH账号安全:改端口,禁用Root,密钥登录,Denyhosts防暴力攻击

    VPS SSH账号是我们日常管理VPS的主要登入方式,尤其是Root账号,对Linux系统安全至关重要.以前好多站长喜欢用Putty中文版,这实际是别人修改官方Putty汉化而来,这些软件被植入了后门 ...

  7. Linux密钥登录原理和ssh使用密钥实现免密码登陆

    目录 1. 公钥私钥简介 2. 使用密钥进行ssh免密登录 2.1. 实验环境 2.2. 开始实验 3. ssh的两种登陆方式介绍 3.1. 口令验证登录 3.2. 密钥验证登录 4. 总结 1.公私 ...

  8. ssh别名登录密钥登录

    在centos上使用别名和是用密钥登录: vim /root/.ssh/config  #输入下列内容 Host * User root   #以root登录 ServerAliveInterval ...

  9. 在本地windows机器上安装SecureCRT客户端

    一.SecureCRT客户端介绍. SecureCRT是一款支持SSH(SSH1和SSH2)的终端仿真程序,简单地说是Windows下登录UNIX或Linux服务器主机的软件. SecureCRT支持 ...

随机推荐

  1. Get just enough boost voltage - current-mirror circuit - VOUT tracks VIN varies

    Adding a current-mirror circuit to a typical boost circuit allows you to select the amount of boost ...

  2. 《UNIX环境高级编程》笔记--errno是否是线程安全的?

    当UNIX函数出错时,常常返回一个负数,而且整形变量errno通常被设置为含有附加信息的一个值,例如,open函数如成功,返回 一个非负文件描述符,如果出错就返回-1,在open出错时,有大约15种不 ...

  3. Android 获得view的宽和高

    转自:http://blog.csdn.net/yangdeli888/article/details/25405263 在oncreate()中利用view.getWidth()或是view.get ...

  4. Valgrind 内存泄漏工具

    Valgrind 是一款 Linux下(支持 x86.x86_64和ppc32)程序的内存调试工具,它可以对编译后的二进制程序进行内存使用监测(C语言中的malloc和free,以及C++中的new和 ...

  5. JQuery与JavaScript onload的区别

    1.window.onload 不能有多个,后面的功能会覆盖前面.而jQuery(document).ready()可以存在多个. 2.window.onload 在页面所有元素(包括图片,引用文件) ...

  6. RESTful概念理解

    基础 REST 定义了一组体系架构原则,您可以根据这些原则设计以系统资源为中心的 Web 服务,包括使用不同语言编写的客户端如何通过 HTTP 处理和传输资源状态. 如果考虑使用它的 Web 服务的数 ...

  7. Mysql优化与使用集锦

    MyISAM的读性能是比Innodb强 MyISAM的索引和数据是分开的,并且索引是有压缩的 Innodb是索引和数据是紧密捆绑的,没有使用压缩从而会造成Innodb比MyISAM体积庞大不小 MyI ...

  8. Android触控屏幕Gesture(GestureDetector和SimpleOnGestureListener的使用教程) 分类:Androidandroid实例

    1.当用户触摸屏幕的时候,会产生许多手势,例如down,up,scroll,filing等等,我们知道View类有个View.OnTouchListener内部接口,通过重写他的onTouch(Vie ...

  9. win8.1安装开发工具 vs2015 Visual Studio 2015 Preview Downloads

    1.首先全新安装win8.1 略 破解激活.... 2.安装Visual Studio 2015 Visual Studio 2015 是免费的,不存在破解版本, 如果安装过程中存在问题,建议先把本文 ...

  10. DevExpressComponents-14.2.5 破解过程,正在编写,未完

    首先,批评一下cnblogs,在win10的环境下,需要加入到兼容视图列表方可正常编辑内容, 声明,本人在14.2.3 的源代码环境下,编译未通过,相关功能报错,索性选择破解,在此,只是学习测试使用, ...