实战证明LINUX系统下密钥对验证的安全性

实战证明LINUX系统下密钥对验证的安全性 

密钥对验证:要求提供匹配的密钥信息才能通过验证,首先在客户端创建一对密钥文件(公钥、私钥),后把公钥文件放到需要远程连接的服务器中。远程登录时,系统将使用私钥加密身份信息提交给远程主机,远程主机使用对方提交的公钥来解密进行身份验证。

本次实验通过三部分来完成:

1、构建密钥对

2、验证私钥的可靠性

3、验证公钥的可靠性

一、构建密钥对验证SSH体系:

(1)首先在PC1上创建密钥对(私钥文件:id_rsa   公钥文件:id_rsa.pub)

(2)将公钥文件上传至需要远程连接的服务器

(3)使用密钥对验证

1、创建密钥对:ssh-keygen -t rsa 在创建的过程中不设置短语(就是用来加密私钥的密码,因为如果脚本中需要远程登录到另一台服务器时,如果有短语会等待管理员输入短语,导致脚本执行暂停)。

2、拷贝公钥到另一台linux主机(PC2):ssh-copy-id [email protected]

查看 .ssh目录下是否成功创建密钥对,然后把公钥拷贝到对方主机

[[email protected] ~]# ls .ssh

id_rsa  id_rsa.pub

3、远程登陆: ssh ro[email protected]

通过上面截图可以看到登陆192.168.80.100并不需要输入密码验证就可以直接连接。因为PC1使用刚才产生的私钥加密了数据,对方收到后使用公钥解密可以解开,身份验证成功。思考一个问题:如果此时PC2远程连接PC1,是需要输入密码还是不需要直接连接成功呢?

二、验证私钥丢失后的安全性

如果私钥丢失,那么得到私钥的用户能否远程连接到 PC2(私钥在产生的时候并没有设置短语加密)

1、把私钥拷贝到另外一台 linux主机(PC3)root中,再把私钥从PC3root中拷贝到普通用户(yus)的目录中,验证root和yus能否远程连接PC2

(1)、cd到 .ssh目录并把id_rsa(私钥)拷贝到PC3中

(2)、在PC3上查看是否拷贝成功,并把id_rsa文件复制到.ssh目录中(如果没有.ssh目录要用mkdir新建一个.ssh目录)

(3)连接PC2:ssh [email protected]

通过截图可以看到已经成功连接到PC2并且不需要密码验证

验证普通用户能否远程连接

1、赋予yus对id_rsa文件的可执行权限

2、并把id_rsa文件复制到yus用户中的.ssh目录下

[[email protected] .ssh]# cp  -p  id_rsa  /home/yus/

[[email protected] .ssh]# su - yus

[[email protected] ~]$ mkdir  /home/yus/.ssh

3、登陆到PC2:ssh [email protected]

由以上结论可以得出私钥丢失后,任何得到私钥的都可以登陆到PC2服务器。

三、验证公钥丢失后的可靠性

1、把PC2上的公钥拷贝到PC3上

2、在PC3上把公钥文件复制到.ssh目录中,记得把之前的私钥文件删除

3、使用PC1验证能否远程登陆PC3

通过上面截图可得出结果,公钥丢失后或被窃取后,产生密钥对的服务器就可远程登陆到有公钥的设备上。也就是说哪台设备上有公钥,服务器就能远程连接,而且公钥不论是从服务器上获得的还是从别的设备上窃取的都可使用。所有无论是公钥还是私钥都需要妥善保管。

总结:SSH远程管理通过密钥对验证是通过公钥和私钥互相加密解密完成验证的。通过本次实验可以看出,公钥和私钥都不可丢失,否则就会造成安全问题。同时相对于密码验证来说,密钥对验证要依然要安全许多。在合适的场景下合作恰当的验证方式就好。绝对的安全是不存在的。

时间: 2024-10-03 21:53:34

实战证明LINUX系统下密钥对验证的安全性的相关文章

Linux系统下安装jdk1.8

JDK安装分为两种方式  一种是解压tar.gz配置安装, 一种是rpm安装,我这里是tar.gz安装方式 一.首先在oracle官方网下载jdk,网址如下:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 二.将jdk-8u65-linux-i586.gz拷贝到Linux系统下 三.在/usr/local下建立java目录 mkdir java 四.将jdk-8u65-linu

linux系统下安装Apache(个人经验)

在安装Apache之前,我们需要安装Apr,和Apr相关的Apr-util,和pcre 这三个东西. Apr是Apache可移植运行库,pcre是一个Perl库,包括 perl 兼容的正规表达式库. 这三个文件的安装很类似,后面会详细讲. 我的系统是CentOS6.2 (保证安装了G++,后面会讲安装G++),准备四个文件分别是: 1.pcre-8.31.tar.bz2 2.apr-1.5.1.tar.gz 3.pcre-8.30.tar.bz2 4.httpd-2.4.10.tar.bz2 我

关于在linux系统下安装jdk

今天装jdk遇到了不少的问题,我第一次遇到64位虚拟机中居然装32位操作系统,然后遇到一系列的麻烦,差点有种崩溃的感觉: 对于版本为题是一个很关键的问题,对于jdk安装,不要认为只要java -version 验证成功就ok了,还要执行javac命令如何:如果javac命令执行不了: 1. 最大的可能性就是jdk的版本的不支持的原因: 2.还有就是要修改配置:gedit /etc/profile.d/java.sh文件 JAVA_HOME=/usr/java/jdk1.6.0_43 JRE_HO

Linux系统下如何配置SSH_Centos7 ssh连接配置 CentOS7下安全配置

转自:http://www.linuxdown.net/install/config/2016/0611/5853.html Linux系统下如何配置SSH_Centos7 ssh连接配置 CentOS7下安全配置SSH 时间:2016-06-11 11:13来源:未知 作者:Linux先生 举报 点击:1804次 SSH 通常是我们进入新伺服器的第一个应用程式,它也取代了telnet 和rsh 成为管理伺服器的最主要介面. SSH 通常是我们进入新伺服器的第一个应用程式,它也取代了telnet

linux系统下的web项目的部署

本文所用到的所有软件都已传至百度云盘,需要用的可自行下载安装.链接:https://pan.baidu.com/s/1dplyekS1ZExzvaHHdiOX0Q 密码:fo4q 在这里作者演示的是使用虚拟机上安装的linux系统的项目部署,云服务器上的web项目部署类似 前期准备: 首先,在自己电脑上装虚拟机软件,我使用的是VMware Workstation,然后在虚拟机上安装linux系统,我使用的是Cent OS, 安装完linux系统后配置其ip地址,这里介绍两种配置linux系统下配

Linux系统下为何病毒少?原因竟是这个?

Linux系统下为何病毒少?原因竟是这个? 可能不少人持这样一种观点,认为 Linux 病毒少是因为Linux不像Windows那么普及,其实这种观点很早已经被人批驳过了,一个最有力的论据是:如果写病毒的人写 Windows 病毒是因为 Windows 用户多而因此破坏性大,那么 Internet 上大多数服务器都是基于 Unix/Linux 的,攻击这些服务器,破坏性岂不是更大么? 对一个二进制的 Linux 病毒,要感染可执行文件,这些可执行文件对启动这个病毒的用户一定要是可写的.而实际情况

Linux系统下的shutdown命令用于安全的关闭/重启计算机

Linux系统下的shutdown命令用于安全的关闭/重启计算机,它不仅可以方便的实现定时关机,还可以由用户决定关机时的相关参数.在执行shutdown命令时,系统会给每个终端(用户)发送一条屏显,提示关机操作.定时关机只需要一个简单的参数,既可以是倒计时,也可以是确切的时间. 命令格式 1 shutdown [选项] [时间] [消息] 并有如下选项: - k 不执行任何关机操作,只发出警告信息给所有用户 - r 重新启动计算机 - h 关机并彻底断电 - f 快速关机且重启动时跳过fsck

第九章 Linux系统下分区、格式化磁盘,学会挂载和卸载磁盘

1. 请查资料了解这些术语:/dev/hda, /dev/hdb, /dev/sda, /dev/sdb, 他们之间有什么区别?/dev/hda, /dev/hdb 是 IDE借口硬盘的块文件. /dev/hda  第一块IDE磁盘 : /dev/hdb 第二块IDE磁盘 /dev/sda, /dev/sdb 是SCSI接口硬盘的块文件. /dev/sda 第一块SCSI磁盘 :/dev/sdb 第二块SCSI磁盘 2. 为什么 du -b /etc/passwd  和 du -k  /etc/

在虚拟机的Linux系统下安装wineqq

|   版权声明:本文为博主原创文章,未经博主允许不得转载. 本文参考教程:http://www.ubuntukylin.com/ukylin/forum.php?mod=viewthread&tid=7688&extra=page%3D1 WineQQ下载地址:http://pan.baidu.com/s/1c2FSTsk qq是一款国内非常著名的聊天工具,但是在腾讯的官网并没有Linux操作系统下的qq安装版本,但是我们也有办法在Linux系统下安装qq,下面我们实现在Linux安装w