基本介绍

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. PJzhang:lijiejie的敏感目录爆破工具BBScan

    猫宁!!! 参考链接: https://www.freebuf.com/sectool/85729.html https://segmentfault.com/a/1190000014539449 这 ...

  2. SpringBoot的配置文件加载顺序以及如何获取jar包里的资源路径

    一.读取配置文件的四种方式 这四种配置文件放置方式的读取优先级依次递减,具体可以查看官方文档. 1.1jar包同级目录下的config文件夹里的配置文件 其实我以前就见过这种方式了,只是不知道怎么做的 ...

  3. 关于使用IQKeyBoardManager键盘还是被遮挡的问题解决方案

    今天在做一个登录界面的时候发现使用了IQKeyBoardManager键盘还是被遮挡,解决方案如下 解决方案一:在所有视图的最外层添加一个UIView作为容器即可,但在有导航栏的情况下导航栏会跟着向上 ...

  4. web.xml中classpath*:与classpath:的区别

    classpath对应src目录,该目录下的文件会在编译后被存放到WEB-INF文件夹下的classes目录. classpath:只会到你的class路径中查找配置文件,对于多个同名的配置文件,只会 ...

  5. MVC 感触

    这几天接触了下 ef+ MVC+WEBAPI +bootstrop VIEW--->Controller  -->WebAPI  ---Model (Linq) 记住 VIEW里的 csh ...

  6. Python递归和迭代

    递归 在函数内部,调用函数自身的编程技巧称为递归( recursion).递归函数结构清晰,很直观的理解计算过程,但也有严重缺点:相对于普通循环而言,递归运行效率较低,经过很多冗余的计算,递归会消耗大 ...

  7. “玲珑杯”ACM比赛 Round #5 H -- Variance 简单树状数组

    可以把每个公式都化简,然后得到要维护的东西就是平方和,和前缀和,两个bit即可 不能cin,超时.IOS后都不行. scanf用lld #include <cstdio> #include ...

  8. C++ <string> 里面的size_type

    string::size_type string的 str.size() 返回值是一个unsigned,实际上返回的是size_type类型的值. string类和其他的大多数标准库类型都定义了几套配 ...

  9. git分支提交管理

    随着需求的增多,为了多人协作的顺利进行,需要进行分支开发,进而带来分支管理问题.今天主要讲一下如何管理分支及提交. 为了使git更好用,下面是我的git配置文件(放在C:\Users\Administ ...

  10. oracle PL、SQL(二)

    oracle PL.SQL(基础知识点二) --1,参数 in:表示输入类型,可以省略 :out:输出类型不能省略---------- ----案例1:编写一个过程,可以输入雇员的编号,返回该雇员的姓 ...