基本介绍

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. Jquery Validate不是用submit按钮提交表单,使用a标签js代码都可以

    不多说,上代码. $("#form").validate(); $("#btn").click(function() { if($("#form&qu ...

  2. 第四篇 .NET高级技术之结构体及值类型引用类型

    结构体 在平时的开发中很少自己去写结构体,他是一种值类型的数据.对于结构,不像类那样存在继承,一个结构体不能从另一个结构或类继承.但是结构体从基类Object继承. 语法: //struct是定义结构 ...

  3. 1392:繁忙的都市(city)

    [题目描述] 城市C是一个非常繁忙的大都市,城市中的道路十分的拥挤,于是市长决定对其中的道路进行改造.城市C的道路是这样分布的:城市中有n个交叉路口,有些交叉路口之间有道路相连,两个交叉路口之间最多有 ...

  4. 二分查找 BestCoder Round #36 ($) Gunner

    题目传送门 /* 题意:问值为x的个数有几个,第二次查询就是0 lower/upper_bound ()函数的使用,map也可过,hash方法不会 */ #include <cstdio> ...

  5. mysql 如何创建一个简单的存储过程

    1 用mysql客户端登入2 选择数据库 mysql>use test3 查询当前数据库有哪些存储过程 mysql>show procedure status where Db='test ...

  6. iOS中自定义UITableViewCell的用法

    1.先创建一个View继承 UITableViewCell并使用xib快速建立模型. #import <UIKit/UIKit.h> #import "Score.h" ...

  7. What's mean ORA-25191?

    1.在给表授权的时候.报错ORA-25191 检查该表为IOT 表 . --因为不是按照单表方式授予权限,而是按照用户的方式授予权限,所以该表的父亲表都在该用户下,所以这个报错可以忽略. 2/ 在参考 ...

  8. [转]C#综合揭秘——细说多线程(下)

    引言 本文主要从线程的基础用法,CLR线程池当中工作者线程与I/O线程的开发,并行操作PLINQ等多个方面介绍多线程的开发. 其中委托的BeginInvoke方法以及回调函数最为常用. 而 I/O线程 ...

  9. Dapper系列之三:Dapper的事务修改与删除

    Dapepr的Update和Delete Dapper入门Dapper查询 上两篇文章我们介绍Dapper中添加和查询.本篇文章我们继续讲解修改和删除....如果本篇文章看不懂,请看阅读上两篇Dapp ...

  10. wp跳转到评价界面代码

    wp跳转到评价界面代码(仅适用于wp8.0) MarketplaceReviewTask marketplaceReviewTask = new MarketplaceReviewTask(); ma ...