Linux中生成密钥的两种方法

简介:

Linux中生成密钥的两种方法


SSH服务支持一种安全认证机制,即密钥认证。所谓的密钥认证,实际上是使用一对加密字符串,一个称为公钥(publickey), 任何人都可以看到其内容,用于加密;另一个称为密钥(privatekey),只有拥有者才能看到,用于解密。通过公钥加密过的密文使用密钥可以轻松解密,但根据公钥来猜测密钥却十分困难。 ssh的密钥认证就是使用了这一特性。服务器和客户端都各自拥有自己的公钥和密钥。如何使用密钥认证登录linux服务器呢?

在使用密钥认证远程登入linux之前,我们先来谈论下生成密钥的两种方法:

方法一:使用puyttygen.exe密钥生成工具。

  1. 下载生成密钥工具

    完整包 http://the.earth.li/~sgtatham/putty/latest/x86/putty.zip 下载后解压,其中puyttygen.exe就是咱们所要用到的密钥生成工具。

  2. 生成密钥对

    双击puttygen.exe, 右下角 “Number of bits in a generated key” 把 “1024” 改成 “2048”, 然后点 “Generate”, 这样就开始生成密钥了,请来回动一下鼠标,这样才可以快速生成密钥对,大约十几秒后就完成了。 “Key comment:” 这里可以保持不变也可以自定义,其实就是对该密钥的简单介绍; “Kye passphrase:” 这里用来给你的密钥设置密码,这样安全一些,当然也可以留空,阿铭建议你设置一个密码;”Confirm passphrase:” 这里再输入一遍刚刚你设置的密码。

  3. 保存私钥

    点 “Save private key”, 选择一个存放路径,定义一个名字,点 “保存”。请保存到一个比较安全的地方,谨防丢掉或被别人看到。

  4. 复制公钥到linux

    回到刚才生成密钥的窗口,在 “Key” 的下方有一段长长的字符串,这一串就是公钥的内容了,把整个公钥字符串复制下来。然后粘贴到你的Linux的 /root/.ssh/authorized_keys 文件里。

    [root@localhost ~]# mkdir /root/.ssh

    [root@localhost ~]# chmod 700 /root/.ssh

    首先创建/root/.ssh 目录,因为这个目录默认是不存在的,然后是更改权限。然后是把公钥内容粘贴进 /root/.ssh/authorized_keys 文件。

    说明:记得关闭防火墙!

  5. 设置putty通过密钥登陆

    打开putty.exe点一下你保存好的session,然后点右侧的 “Load”, 在左侧靠下面点一下 “SSH” 前面的 +然后选择 “Auth”, 看右侧 “Private key file for authentication:” 下面的长条框里目前为空,点一下 “Browse”, 找到我们刚刚保存好的私钥,点”打开”。此时这个长条框里就有了私钥的地址,当然你也可以自行编辑这个路径。然后再回到左侧,点一下最上面的 “Session”, 在右侧再点一下 “Save”.使用密钥验证登陆Linux保存好后session, 点一下右下方的 “Open”. 出现登陆界面,你会发现和原来的登陆提示内容有所不同了。

    [root@ceshiji ~]# ssh 192.169.5.74

    Last login: Wed Aug 16 15:14:25 2017 from 192-169-5-121-static.despegar.net

    [root@eee ~]#

    现在不再输入root密码,而是需要输入密钥的密码,如果你先前在生产密钥的时候没有设置密码, 你输入root后会直接登陆系统。

方法二:使用脚本

  1. 脚本内容如下:     

    [root@ceshiji kewai]# cat gen-sshkey.sh

    #!/bin/bash

    ssh-keygen  -t  rsa   -P ''   -f   '/root/.ssh/id_rsa'

    说明:这个脚本是自动生成公钥私钥的,无须人工干预按回车确认每个步骤!

  2. 如果将上面脚本生成的公钥发送到另一台服务器时,应将其重命名为authorized_keys ,命令如下:

    ###先远程拷贝过去###

    [root@ceshiji .ssh]# scp /root/.ssh/id_rsa.pub  root@192.169.5.74:/root/.ssh/

    ###再重命名###

    [root@eee .ssh]# mv id_rsa.pub authorized_keys

    这样在ceshiji上远程登入eee就可以输入root之后,直接登入系统啦!




     本文转自品鉴初心51CTO博客,原文链接:http://blog.51cto.com/wutengfei/1956792,如需转载请自行联系原作者


相关文章
|
3月前
|
Linux Perl
Linux中删除空行的三种方法
Linux中删除空行的三种方法
42 6
|
10天前
|
关系型数据库 MySQL Linux
linux CentOS 7.4下 mysql5.7.20 密码改简单的方法
linux CentOS 7.4下 mysql5.7.20 密码改简单的方法
17 0
|
17天前
|
Ubuntu Linux
常用Linux开机启动添加方法
常用Linux开机启动添加方法
12 1
|
30天前
|
安全 Linux 开发者
⭐⭐⭐⭐⭐Linux C/C++ 进程崩溃诊断以及有效数据收集:解锁代码问题快速定位与修复的方法
⭐⭐⭐⭐⭐Linux C/C++ 进程崩溃诊断以及有效数据收集:解锁代码问题快速定位与修复的方法
77 1
|
9天前
|
Linux Shell 虚拟化
linux 部署docker容器虚拟化平台(二)--------docker 镜像制作方法
linux 部署docker容器虚拟化平台(二)--------docker 镜像制作方法
14 0
|
12天前
|
监控 Linux
|
15天前
|
存储 缓存 监控
深入解析linux内存指标:快速定位系统内存问题的有效技巧与实用方法(free、top、ps、vmstat、cachestat、cachetop、sar、swap、动态内存、cgroops、oom)
深入解析linux内存指标:快速定位系统内存问题的有效技巧与实用方法(free、top、ps、vmstat、cachestat、cachetop、sar、swap、动态内存、cgroops、oom)
|
16天前
|
Prometheus 监控 数据可视化
linux分析方法与技巧
【4月更文挑战第3天】在Linux环境中,进行日志分析和系统性能分析的关键方法包括:使用`cat`, `less`, `tail`查看和过滤日志,`logrotate`管理日志文件,`rsyslog`或`syslog-ng`聚合日志,以及通过`top`, `mpstat`, `pidstat`, `free`, `iostat`, `netstat`, `strace`, `sar`, `dstat`等工具监控CPU、内存、磁盘I/O和网络。对于高级分析,可利用Brendan Gregg的性能工具,以及Grafana、Prometheus等可视化工具。
16 2
linux分析方法与技巧
|
1月前
|
存储 Java Linux
Linux安装HBase的详细教程及常用方法
Linux安装HBase的详细教程及常用方法
75 1
|
1月前
|
Java Unix Linux
Linux系统中虚拟文件系统原理与方法
Linux系统中虚拟文件系统原理与方法
33 0