基本介绍

ssh:安全的远程登陆

要有客户端与服务器端,客户端主动链接服务端,那么服务端地址是不能变的。

socket:套接字 标识应用唯一的地址

tcp/udp port端口号

cat /etc/service查看所有的端口号

备注:通过IP找到了这台机器,通过端口号找到相对应的应用程序

注意:IP和端口号要固定

centos默认openssh

格式

ssh[user@]host[COMMAND]

ssh root@192.168.10.6‘IP a’

#查看这个主机的IP地址,查询完自动退出

选项

-p port:远程服务器监听端口

-b:指定链接的源IP

两块网卡的时候,指定希望的网卡链接对方

-v:调试模式

看详细的过程

-C:压缩方式

-X:支持x11转发

-Y:支持信任x11转发

ForwardX11Trusted yes

-t:强制伪tty分配

ssh -t remoteservre1 ssh remoteservre2

配置文件

服务器端配置文件

/etc/ssh/sshd_config

客户端配置文件

/etc/ssh/ssh_config

openssh软件组成

相关包:

openssh

openssh-clients

openssh-server

工具:

clients:ssh,scp,sftp,slogin

windows客户端:

xshell,putty,securecrt,sshsecureshellclient

Server:sshd

ssh验证两种方式

1、基于password

2、基于key

当用户远程连接ssh服务器时,会复制ssh服务器/etc/ssh/ssh_host*key.pub
(CentOS7默认是ssh_host_ecdsa_key.pub)文件中的公钥到客户机的
~./ssh/know_hosts中。下次连接时,会自动匹配相应私钥,不能匹配,将拒
绝连接

第一种是说账号密码验证,我们第一次用ssh链接一台主机的时候,会出现询问如图

试问这是什么意思?

这是询问你链接的机子是不是真实机器呢,不是假冒的机器,确认下,没问题键入 y,当我们键入y,它会记录你的信息,如IP 公钥等等。

第二次链接的时候就不会出现提示,为什么?

因为当我们第一次链接时键入”y“后,记录了你的信息,当我们再次链接时,它会拿你记录的信息和你当前的信息做比较,看是否还是原来的那台电脑,如果不是,它会认为你这台机器是一个假冒的,拒接链接,解决了钓鱼网站的威胁。

试想

假如有三台主机分别是192.168.43.6、192.168.43.7、192.168.43.17,6这台主机正常链接7主机,当6断开与7的链接后,我们用17来冒充7与6建立链接。有没有效果?

说明:我们是把192.168.43.17主机IP改成了192.168.43.7来与192.168.43.6建立链接。

会出现下图

有人会说改物理地址,那也是会出现上图。我们来了解下它的底层原理就知道了。

底层原理:在第一次链接的时候,会记录改主机的公钥信息,放在当前用户的家目录ssh目录里,当你链接的时候,用私钥签名,让公钥解密。

所以:只要拿到对方的私钥就可假冒这台主机。

所有说私钥安全很重要!

基于用户名口令验证方式工作原理

当用户发送ssh请求到ssh服务端时,服务端回应客户端,并把自己的公钥发给客户端,客户端接收到服务端的公钥后,并用服务端的公钥对自己的密码加密发给服务端,服务端接收后,用自己的私钥进行解密,得到的密码,去验证对不对,正确就能正常登陆。如图

精彩内容请看下一篇


ssh服务介绍的更多相关文章

  1. ssh服务介绍及配置

    一.ssh介绍 1.什么是 ssh ssh 是 Secure Shell 的缩写,是一个建立在应用层上的安全远程管理协议.ssh 是目前较为可靠的传输协议,专为远程登录会话和其他网络服务提供安全性.利 ...

  2. Linux之ssh服务介绍

    一.什么是SSH? 简单说,SSH(Secure Shell Protocol)是一种网络协议,用于计算机之间的加密登录.在默认状态下SSH服务提供俩个服务功能,一个是提供类似telnet远程联机服务 ...

  3. ssh服务、密钥登陆配置

    环境内核信息: [root@zabbix-01 ~]# uname -a Linux lodboyedu-01 2.6.32-696.el6.x86_64 #1 SMP Tue Mar 21 19:2 ...

  4. 如何在Web服务器80端口上开启SSH服务

    本文所讨论的网络端口复用并非指网络编程中采用SO_REUSEADDR选项的 Socket Bind 复用.它更像是一个带特定路由功能的端口转发工具,在应用层实现. 背景 笔者所处网络中防火墙只开放了一 ...

  5. Ubuntu下开启ssh服务

    网上有很多介绍在Ubuntu下开启SSH服务的文章,但大多数介绍的方法测试后都不太理想,均不能实现远程登录到Ubuntu上,最后分析原因是都没有真正开启ssh-server服务.最终成功的方法如下: ...

  6. 快速搭建建SSH服务

    一般来说如果用Ubuntu作为服务器,我们经常需要通过其他客户端远程连接它. 远程连接需要使用SSH,这里列出了一个快速完成这一任务的方法. 键入命令 # sudo apt-get install o ...

  7. ubuntu如何开启SSH服务

    ubuntu如何开启SSH服务 分类: Linux 运维与操作基础2013-02-24 13:33 2868人阅读 评论(0) 收藏 举报 sshd ubuntu ubuntu默认并没有安装ssh服务 ...

  8. 第1章 ssh和SSH服务(包含隧道内容)

    本文对SSH连接验证机制进行了非常详细的分析,还详细介绍了ssh客户端工具的各种功能,相信能让各位对ssh有个全方位较透彻的了解,而不是仅仅只会用它来连接远程主机. 另外,本人翻译了ssh客户端命令的 ...

  9. 如何搭建ssh服务?

    为了日后便于查询,本文所涉及到的所有命令集合如下: rpm -qa | grep openssh #查看是否安装了openssh软件 service sshd status #服务端的ssh状态 if ...

随机推荐

  1. 纯javaScript实现元素平滑滚动,改进前两个版本,支持鼠标滚轮滚动和点击元素滚动,滚动更顺畅

    windowScroll(id, number, distance, direction, obj) 参数介绍: 1.id:所要滚动的元素id; 2.number:滚动次数; 3.distance:每 ...

  2. ssm框架下实现文件上传

      1.由于ssm框架是使用Maven进行管理的,文件上传所需要的jar包利用pom.xml进行添加,如下所示: <properties> <commons-fileupload.v ...

  3. Hdu 5445 Food Problem (2015长春网络赛 ACM/ICPC Asia Regional Changchun Online)

    题目链接: Hdu  5445 Food Problem 题目描述: 有n种甜点,每种都有三个属性(能量,空间,数目),有m辆卡车,每种都有是三个属性(空间,花费,数目).问至少运输p能量的甜点,花费 ...

  4. bzoj2154||洛谷P1829 Crash的数字表格&&JZPTAB && bzoj3309 DZY Loves Math

    bzoj2154||洛谷P1829 https://www.lydsy.com/JudgeOnline/problem.php?id=2154 https://www.luogu.org/proble ...

  5. (027)[技术资料]业余制作Windows图标

    这几天一直在纠结一件事,想给软件制作一个简单的图标,以前(2014-10-4 11:00)制作的是下面这个,多重ICO,最大尺寸256,无压缩(windows允许图标尺寸在大于256时按PNG方式进行 ...

  6. MySQL FailOver(官方自带,free)

    为什么 传统复制和GTIDs切换的缺点 当replication故障出现之后,最头疼是replication架构的调整 一旦master down了,就需要配置某一台slave作为master sla ...

  7. WPF日常需要使用的操作

    窗体如何居中弹出 在窗体上添加属性  WindowStartupLocation="CenterScreen" 窗体如何隐藏掉windows边框 添加属性WindowStyle=& ...

  8. 【转】一个Java对象到底占多大内存?

    最近在读<深入理解Java虚拟机>,对Java对象的内存布局有了进一步的认识,于是脑子里自然而然就有一个很普通的问题,就是一个Java对象到底占用多大内存? 在网上搜到了一篇博客讲的非常好 ...

  9. vue中引入字体图标报错,找不到字体文件

    在用vue + webpack进行开发的时候,在引用字体图标遇到字体无法加载的问题: 报以下错误 搞了好久没搞定,最后才找到解决方法(还是没有找到原因) 修改字体图标的css中引入字体文件的路径 以前 ...

  10. 使用Jenkins进行android项目的自动构建(6)

    之前已经介绍过使用Maven做构建,在来介绍一下Gralde的自动化构建. 什么是Gralde?官方的解释是 Gradle is an open source build automation sys ...