1.什么是SSH登录

SSH是一种网络协议,用于计算机之间的加密登录。

相比传统的账户密码登录,SSH提供了一种更便捷安全的登录方式。

2.SSH登录流程

登录操作如下

ssh user@host

SSH之所以能保证安全,是因为它采用了公钥加密。

整个流程如下:

(1)远程主机收到用户的登录请求,将自己的公钥发给用户

(2)用户使用这个公钥,将登录密码加密后,发送给远程主机

(3)远程主机用自己的私钥,解密登录密码,如果密码正确,就同意用户登录

3.中间人攻击

SSH登录本身是安全的,问题在于,如果有人截获了登录请求,然后冒充远程主机,将伪造的公钥发给用户,

那么用户很难辨别真伪。因为不像https,SSH协议的公钥是没有证书中心(CA)公证的,也就是说,都是自己签发的。

攻击者插在用户和远程主机之间,用伪造公钥,获取到用户的登录面后,再用这个密码登录远程主机,那么SSH的安全机制就荡然无存了,

这就是著名的“中间人攻击”

4.口令登录-公钥加密(用户端),私钥解密(远程主机)

如上图所示,第一次登录时,会提示用户

The authenticity of host '121.43.230.217 (121.43.230.217)' can't be established.
ECDSA key fingerprint is SHA256:NfXOYhYDaY7cs57XoMqAS+5D+rG8mKTumqyo+8SCO9o.
Are you sure you want to continue connecting (yes/no)?

意思是无法验证用户的公钥,是否正确,询问用户是否要继续。

ECDSA key给出了远程主机公钥的SHA256编码过的值,一般在远程主机的网站会告示公钥的值,

用户可以将这个公钥和网站上的公钥进行比对,正确则表明是远程主机。

输入yes之后,系统会将公钥加入到已知的主机列表,如下所示,已知列表中的主机,下次不会再询问。

Warning: Permanently added '121.43.230.217' (ECDSA) to the list of known hosts.

5.公钥登录-私钥加密(用户端),公钥解密(远程主机)

使用密码登录,每次都必须输入密码,非常麻烦,好在SSH还提供了公钥登录,可以省去输入密码的步骤。

公钥登录的流程如下:

用户将自己的公钥放在远程主机上,登录的时候,远程主机会向用户发送一段随机字符串,用户用自己的私钥加密后,再发回来。

远程主机用实现储存的公钥进行解密,如果成功,就证明用户是可信的,直接允许登录shell,不再要求密码。

这种方式要求用户提供自己的公钥,如果没有,可以使用ssh-keygen生成一个:

ssh-keygen

运行之后,会在/root/.ssh/目录下,分别生成公钥和私钥:id_rsa.pub和id_rsa

输入以下命令,将公钥传送到远程主机,公钥会添加到远程主机/root/.ssh/authorized_keys文件中,公钥登录的设置就完成了。

ssh-copy-id user@host

SSH登录详解的更多相关文章

  1. linux ssh使用深度解析(key登录详解)

    linux ssh使用深度解析(key登录详解) SSH全称Secure SHell,顾名思义就是非常安全的shell的意思,SSH协议是IETF(Internet Engineering Task ...

  2. SSH免密登录详解

    SSH免密登录详解 SSH(Security Shell)安全外壳协议,是较为可靠的,专为远程登录会话和其他网络服务提供安全保证的协议. ​ 对于传统的网络服务程序(例如,FTP,Telnet等)来说 ...

  3. 【转】SSH服务详解

    [转]SSH服务详解 第1章 SSH服务 1.1 SSH服务协议说明 SSH 是 Secure Shell Protocol 的简写,由 IETF 网络工作小组(Network Working Gro ...

  4. SSH命令详解2

    ssh命令详解     目录         前言     一.ssh命令         1.Ssh参数解释         2.如何连接远程主机         3.利用Xstart 在windo ...

  5. (转)SSH服务详解

    SSH服务详解 原文:http://www.cnblogs.com/clsn/p/7711494.html 第1章 SSH服务1.1 SSH服务协议说明SSH 是 Secure Shell Proto ...

  6. Bmob第三方登录详解

    Bmob第三方登录详解 Bmob 第三方登录 简介 本文主要介绍新浪微博,QQ,微信的登录接入以及如何配合BmobSDK中的第三方登录功能实现第三方登录. 在使用之前请先按照快速入门创建好可以调用Bm ...

  7. ssh配置详解及公私钥批量分发

    第一:ssh配置文件详解 第二:ssh公私密钥的生成 第三:ssh公钥分发之一:ssh自带工具ssh-copy-id工具分发 第四:ssh公钥分发之二:编写sshpass脚本批量分发 第五:ssh公钥 ...

  8. python通过socket实现多个连接并实现ssh功能详解

    python通过socket实现多个连接并实现ssh功能详解 一.前言 上一篇中我们已经知道了客户端通过socket来连接服务端,进行了一次数据传输,那如何实现客户端多次发生数据?而服务端接受多个客户 ...

  9. 前后端分离,简单JWT登录详解

    前后端分离,简单JWT登录详解 目录 前后端分离,简单JWT登录详解 JWT登录流程 1. 用户认证处理 2. 前端登录 3. 前端请求处理 4. 后端请求处理 5. 前端页面跳转处理 6. 退出登录 ...

随机推荐

  1. 使用maven命令安装jar包到本地仓库

    第三方jar包在开发工具中引入后编译没问题, 启动调试包括打包时会提示找不到jar包的错误.需要上传到maven仓库中,并在pom文件内引入. maven命令: 安装指定文件到本地仓库命令:mvn i ...

  2. 【RS】RankMBPR:Rank-Aware Mutual Bayesian Personalized Ranking for Item Recommendation - RankMBPR:基于排序感知的相互贝叶斯个性化排序的项目推荐

    [论文标题]RankMBPR:Rank-Aware Mutual Bayesian Personalized Ranking for Item Recommendation ( WAIM 2016:  ...

  3. 安装和使用solr

    下载Solr:wget http://apache.fayea.com/lucene/solr/6.4.1/solr-6.4.1.tgz解压:tar -zxvf solr-6.4.1.tgz bin/ ...

  4. 使用import简化spring的配置 spring import 标签的解析 使用import或加载spring配置时,报错误There is no ID/IDREF 多个Spring配置文件import resource路径配置

    spring-import 标签的解析.使用案例: 对于spring配置文件的编写,我想,对于经历过庞大项目的人,都有那种恐惧的心理,太多的配置文件.不过,分模块都是大多数人能想到的方法,但是,怎么分 ...

  5. 如何创建magento模块z之Hello World例子(转)

    步骤:1.创建一个Hello World模块2.为这个模块配置路由3.为这个模块创建执行控制器 创建Hello World模块 创建模块的结构目录:app/core/local/Sjolzy/Hell ...

  6. uploadify.js参数说明(转)

    一.属性 属性名称 默认值 说明 auto true 设置为true当选择文件后就直接上传了,为false需要点击上传按钮才上传 . buttonClass ” 按钮样式 buttonCursor ‘ ...

  7. k近邻算法-java实现

    最近在看<机器学习实战>这本书,因为自己本身很想深入的了解机器学习算法,加之想学python,就在朋友的推荐之下选择了这本书进行学习. 一 . K-近邻算法(KNN)概述 最简单最初级的分 ...

  8. iOS证书(.p12)和描述文件(.mobileprovision)申请

    证书类型 使用场景 开发(Development)证书和描述文件 用于开发测试,在HBuilder中打包后可在真机环境通过Safari调试 发布(Distribution)证书和描述文件 用于提交Ap ...

  9. C# 对文件与文件夹的操作包括删除、移动与复制

    在.Net中,对文件(File)和文件夹(Folder)的操作可以使用File类和Directory类,也可以使用FileInfo类和DirectoryInfo类.文件夹(Folder)是只在Wind ...

  10. apache Tomcat配置SSL(https)步骤

    Tomcat配置https 1      生成Server端安全证书 要实现通信加密,首先要在本地准备一份符合X.509标准的Server端安全证书.如果有条件的话,可以向权威CA申请一份经过认证的安 ...