IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> SSH 的 免密登录机制 <简> -> 正文阅读

[系统运维]SSH 的 免密登录机制 <简>

1 . 什么是SSH?? ?? ? ??

    SSH(Security Shell)安全外壳协议,是较为可靠的,专为远程登录会话和其他网络服务提供安全
保证的协议。
?    对于传统的网络服务程序(例如,FTP,Telnet等)来说,其本质上并不是安全的,主要原因在于,
这些网络应用程序在网络上都是直接使用明文传输口令和数据的,对于别有用心的人来说,这些口令
和数据是很容易被截获的。另外,这些网络服务程序的安全验证方式也是存在弱点的,非常容易受到
中间人(Man-In-The-Middle)这种方式的攻击,简而言之,就是中间人冒充真正的服务器接收你
传输的数据,然后,再将数据转发给真正的服务器,通过这种方式中间人就可以神不知鬼不觉地拿
到你所有数据。
    SSH是安全外壳协议,而open-ssh则是SSH的开源实现,CentOS通常是默认安装了open-ssh的。
                                    <ssh是一种网络协议,用于计算机之间的免密登录。>
    整个SSH服务是包含SSH服务端(openssh-server)和SSH客户端(openssh-clients)的,常用的
ssh命令就是客户端一部分。
    SSH服务端与SSH客户端之间的关系:
    节点A想要控制节点B,则节点A上需要安装SSH客户端,而节点B上
需要安装相应的SSH服务端,这样,节点A才能向节点B发送控制命令和数据。通过使用SSH,可以将所
有传输的数据及口令进行加密,从而防止中间人攻击,还可以防止DNS和IP欺骗,另外,使用SSH还有
加快传输速度的好处,原因在于,SSH是可以对数据进行压缩的。

? ? ? ? ssh 提供了两种服务

????????1.远程连接服务功能,即 SSH 服务

? ? ? ? 2.借助ssh 协议来传输数据,提共更安全的 传输服务

2 . SSH免密登录配置

? ? ? ? 对于分布式及去集群环境组件(例如Hadoop, Hbase等),组件的节点通常需要远程登陆控制到其他节点的主机上进shell操作,通常我们采用ssh

????????1.生成密钥

ssh-keygen -t rsa 
[root@hadoop102 ~]# ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):          /*回车(Enter)
/root/.ssh/id_rsa already exists.
Overwrite (y/n)? y                                                /*输入 y 
Enter passphrase (empty for no passphrase):
Enter same passphrase again:                                    
Passphrases do not match.  Try again.                             /* 三次回车
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:IYUYQi6GPBuCMRbrFE2v0wD4/hL/3qO2SEHL94QPBHY root@hadoop102
The key's randomart image is:                                  /*  此为生成的密钥
+---[RSA 2048]----+
|+**.+oE..        |
|*+++oo..         |
|=O....o .        |
|=.=o+o o .       |
| + o+.+ S        |
|  o .o =         |
|   +.   o        |
|  ..o....        |
|   ..+=o..       |
+----[SHA256]-----+

? ? ? ? 2.拷贝密钥到指定服务器?

ssh-copy-id 主机名  
[root@hadoop102 ~]# ssh-copy-id 192.168.1.111
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/root/.ssh/id_rsa.pub"
The authenticity of host '192.168.1.111 (192.168.1.111)' can't be established.
ECDSA key fingerprint is SHA256:eCmmod1eScDV8sJcF/vwAMhCVpmxwWMW+JIYfT+r/KE.
ECDSA key fingerprint is MD5:10:38:b6:5a:fb:be:8c:fa:a5:d1:69:8e:39:8b:38:b5.
Are you sure you want to continue connecting (yes/no)? yes        /* 这里手动输入 yes
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
root@192.168.1.111's password:                                    /* 输入对应主机密码

Number of key(s) added: 1

Now try logging into the machine, with:   "ssh '192.168.1.111'"
and check to make sure that only the key(s) you wanted were added.

目录

1 . 什么是SSH?? ?? ? ??

2 . SSH免密登录配置

3. 原理剖析


3. 原理剖析

原理:
 
假设有A和B两台机器,现在需要A机器免密访问B机器 如何实现?
 
第一步:通过非对称加密算法rsa在A机器上生成公钥和私钥
 
第二步:将A机器上生成的公钥追加到B机器上的授权列表(authorized_keys)中
 
第三步:当A机器去访问B机器时,A机器携带公钥.B机器通过查看授权列表中是否有此公钥,有则开始进行验证
 
第四步:B机器随机生成一个字符串,并用A机器的公钥对其加密,返回给A机器
 
第五步:A机器拿到加密的字符串,用私钥进行解密,将解密后的字符串返回给B机器
 
第六步:B机器拿到返回的字符串,经对比一致则验证通过,可以通信

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2021-12-10 11:27:06  更:2021-12-10 11:28:57 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/16 4:53:22-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码