SSH(安全协议外壳)介绍及Linux SSH免密登录

2023-12-16 08:58

本文主要是介绍SSH(安全协议外壳)介绍及Linux SSH免密登录,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

SSH(安全协议外壳)介绍及Linux SSH免密登录

SSH(安全外壳协议)

  SSH 为 Secure Shell 的缩写,是一种网络安全协议,专为远程登录会话和其他网络服务提供安全性的协议。通过使用 SSH,可以把传输的数据进行加密,有效防止远程管理过程中的信息泄露问题。
  从客户端来看,有两种验证方式:基于密码、基于密钥。

用户名密码验证方式:

  • (1) 当客户端发起 ssh 请求,服务器会把自己的公钥发送给用户;
  • (2) 用户会根据服务器发来的公钥对密码进行加密;
  • (3) 加密后的信息回传给服务器,服务器用自己的私钥解密,如果密码正确,则用户登录成功。

基于密钥的登录方式:

  • (1) 首先在客户端生成一对密钥(公钥、私钥);
  • (2) 客户端将生成的公钥拷贝到需要访问的服务端机器上;
  • (3) 当客户端再次发送一个连接请求,包括 ip、用户名;
  • (4) 服务端得到客户端的请求后,会到 authorized_keys 中查找,如果有相
  • 应的 IP 和用户,就会随机生成一个字符串,例如:qwer;
  • (5) 服务端将使用客户端拷贝过来的公钥对随机字符串 qwer 进行加密,然后
  • 发送给客户端;
  • (6) 得到服务端发来的消息后,客户端会使用私钥进行解密,然后将解密后
  • 的字符串发送给服务端;
  • (7) 服务端接受到客户端发来的字符串后,跟之前的字符串进行对比,如果
  • 一致,就允许免密码登录。

 

 SSH免密登录便是基于秘钥进行登录,从而免去每次连接其他服务器的时候输入密码的情况。

 

在三个虚拟机(node-01,node-02,node-03)的基础上进行免密登录的设置:

1,在node-02上生成秘钥,并保存到文件中(使用ssh-keygen后一直回车到私钥和公钥生成):

ssh-keygen 

2,使用ssh-copy-id把公钥发送到三台机器中:(前提是三台机器做了域名映射,不然不能写node-01... 需要写机器的ip)

ssh-copy-id node-01ssh-copy-id node-02ssh-copy-id node-03

 

 

由于是在node-02上生成的秘钥,并保存到node-02上,所以现在从node-02上登录其他两台机器就可以实现免密登录了:

可以看到我们可以在node-02上直接连接node-03了。

 

posted @ 2016-04-22 20:14 青衫仗剑 阅读( ...) 评论( ...) 编辑 收藏

这篇关于SSH(安全协议外壳)介绍及Linux SSH免密登录的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/499912

相关文章

Python从零打造高安全密码管理器

《Python从零打造高安全密码管理器》在数字化时代,每人平均需要管理近百个账号密码,本文将带大家深入剖析一个基于Python的高安全性密码管理器实现方案,感兴趣的小伙伴可以参考一下... 目录一、前言:为什么我们需要专属密码管理器二、系统架构设计2.1 安全加密体系2.2 密码强度策略三、核心功能实现详解

Nginx中配置HTTP/2协议的详细指南

《Nginx中配置HTTP/2协议的详细指南》HTTP/2是HTTP协议的下一代版本,旨在提高性能、减少延迟并优化现代网络环境中的通信效率,本文将为大家介绍Nginx配置HTTP/2协议想详细步骤,需... 目录一、HTTP/2 协议概述1.HTTP/22. HTTP/2 的核心特性3. HTTP/2 的优

关于WebSocket协议状态码解析

《关于WebSocket协议状态码解析》:本文主要介绍关于WebSocket协议状态码的使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录WebSocket协议状态码解析1. 引言2. WebSocket协议状态码概述3. WebSocket协议状态码详解3

Linux中的计划任务(crontab)使用方式

《Linux中的计划任务(crontab)使用方式》:本文主要介绍Linux中的计划任务(crontab)使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、前言1、linux的起源与发展2、什么是计划任务(crontab)二、crontab基础1、cro

Linux换行符的使用方法详解

《Linux换行符的使用方法详解》本文介绍了Linux中常用的换行符LF及其在文件中的表示,展示了如何使用sed命令替换换行符,并列举了与换行符处理相关的Linux命令,通过代码讲解的非常详细,需要的... 目录简介检测文件中的换行符使用 cat -A 查看换行符使用 od -c 检查字符换行符格式转换将

Linux系统配置NAT网络模式的详细步骤(附图文)

《Linux系统配置NAT网络模式的详细步骤(附图文)》本文详细指导如何在VMware环境下配置NAT网络模式,包括设置主机和虚拟机的IP地址、网关,以及针对Linux和Windows系统的具体步骤,... 目录一、配置NAT网络模式二、设置虚拟机交换机网关2.1 打开虚拟机2.2 管理员授权2.3 设置子

Linux系统中卸载与安装JDK的详细教程

《Linux系统中卸载与安装JDK的详细教程》本文详细介绍了如何在Linux系统中通过Xshell和Xftp工具连接与传输文件,然后进行JDK的安装与卸载,安装步骤包括连接Linux、传输JDK安装包... 目录1、卸载1.1 linux删除自带的JDK1.2 Linux上卸载自己安装的JDK2、安装2.1

Linux卸载自带jdk并安装新jdk版本的图文教程

《Linux卸载自带jdk并安装新jdk版本的图文教程》在Linux系统中,有时需要卸载预装的OpenJDK并安装特定版本的JDK,例如JDK1.8,所以本文给大家详细介绍了Linux卸载自带jdk并... 目录Ⅰ、卸载自带jdkⅡ、安装新版jdkⅠ、卸载自带jdk1、输入命令查看旧jdkrpm -qa

Linux samba共享慢的原因及解决方案

《Linuxsamba共享慢的原因及解决方案》:本文主要介绍Linuxsamba共享慢的原因及解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录linux samba共享慢原因及解决问题表现原因解决办法总结Linandroidux samba共享慢原因及解决

springboot security验证码的登录实例

《springbootsecurity验证码的登录实例》:本文主要介绍springbootsecurity验证码的登录实例,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,... 目录前言代码示例引入依赖定义验证码生成器定义获取验证码及认证接口测试获取验证码登录总结前言在spring