基本介绍

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. CF580D Kefa and Dishes 【状压dp】By cellur925

    题目传送门 友情链接:new2zydalao%%%  一篇优秀的状压文章 题目大意:$n$个菜有$k$个规则,如果kefa在吃完第$xi$个菜之后吃了第$yi$个菜(保证$xi$.$yi$不相等), ...

  2. Beta版本发布!

    该作业所属课程:https://edu.cnblogs.com/campus/xnsy/SoftwareEngineeringClass2 作业地址:https://edu.cnblogs.com/c ...

  3. 密码(Password)

    #include<cstdio> #include<cstring> using namespace std; int k, cnt; ][][], ans[]; bool d ...

  4. adb的含义

    ADB全名Andorid Debug Bridge. 是一个Debug工具.为何称之为Bridge呢?因为adb是一个标准的C/S结构的工具, 是要连接开发电脑和调试手机的.包含如下几个部分: 1.C ...

  5. 万能makefile模板

    这里一份万能makefile模板,写opencv项目时候使用的. 前提是提前配置好 包管理工具 pkg 然后就不用每次都去 -lopencv_xxx了. ####################### ...

  6. 宏 函数 内联函数inline

    带参宏有时候可以代替函数作用:优点直接替代,省去函数调用过程的开销:但缺点也是很明显:容易出错,系统不做检查非常容易出错. 改进方案:内联函数:既有带参宏的直接替代(拷贝)的优点,又有系统检查的优点. ...

  7. subprocess模块详解2

    1.call() 和run功能类似,都是接受一个列表里的参数. >>> import subprocess >>> a = subprocess.call([&qu ...

  8. [ CQOI 2018 ] 异或序列

    \(\\\) Description 给出一个长为 \(n\) 的数列 \(A\) 和 \(k\),多次询问: 对于一个区间 \([L_i,R_i]\),问区间内有多少个不为空的子段异或和为 \(k\ ...

  9. mySQL ODBC 在windows 64位版上的驱动问题

    1,问题的起源 某次编辑一个asp文件,其中访问mysql数据库的连接字符串如下: "driver={mysql odbc 3.51 driver};server=localhost;uid ...

  10. SpringMvc之参数绑定注解详解

    引言: 前段时间项目中用到了REST风格来开发程序,但是当用POST.PUT模式提交数据时,发现服务器端接受不到提交的数据(服务器端参数绑定没有加任何注解),查看了提交方式为application/j ...