前面介绍了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. /etc/fstab格式的问题

    [root@localhost etc]# cat fstab /dev/VolGroup00/LogVol00 /                       ext3    defaults    ...

  2. 加载大量的xml数据 使用压缩方法解决(当然较小时也可以压缩)

    如果你的应该程序必须在运行期间加载一个外部大且冗长的XML文件时,这个方案可能是有用的,通过将XML保存为二进制,你可以压缩数据得到一个较小的文件,当然,你可以得到的压缩的数量取决于数据的复杂性,但它 ...

  3. Oracle数据库常用函数使用--持续更新中

    NVL函数.NVL( string1, replace_with).如果string1为NULL,则NVL函数返回replace_with的值,否则返回原来的值. INSTR函数.用于查找指定字符串是 ...

  4. Servlet实现的三种方法

    (1)方法一: //这是第一个实现servlet的方法.使用时限servlet接口的方法来实现,使用的时候须要引用servlet-api.jar package com.lc; import java ...

  5. 关于禁用html中a标签的思考

    事实上这个问题在初次学习html中select标签时就已经冒出来了,时至今日,依旧没有找到使用纯css禁用a标签的办法--同事.同学.老师我都问过了,他们都千篇一律借助了JavaScript,难道真的 ...

  6. Python操作dict时避免出现KeyError的几种方法

    见原文:https://www.polarxiong.com/archives/Python-%E6%93%8D%E4%BD%9Cdict%E6%97%B6%E9%81%BF%E5%85%8D%E5% ...

  7. Kotlin【简介】Android开发 配置 扩展

    重要资源 官方资源:官网 . 官网源码 .官网文档 . 在线 IDE .GitHub 中文资源:中文官网 .中文文档  离线文档:PDF 文件 . PDF 文件 GitBook 版 .ePUB 文件  ...

  8. [C++基础]那些容易被混淆的概念:函数/数组指针-指针函数/数组,类/函数模板-模板类/函数

    函数指针-指针函数 函数指针的重点是指针.表示的是一个指针,它指向的是一个函数.eg: int (*pf)(); 指针函数的重点是函数.表示的是一个函数,它的返回值是指针.eg: int* fun() ...

  9. 【JAVA】【NIO】10、Java NIO ServerSocketChannel

    Java NIO的ServerSocketChannel是用来监听外来TCP连接的channel,就想标准Java网络中的ServerSocket.实比例如以下: ServerSocketChanne ...

  10. Graph Automata Player

    题目action=problem&type=show&id=12839&courseid=269">here 第一道高速幂.同一时候也是第一道高斯消元. 输入的 ...