SSH总结

咱们知道,现实中不管是使用路由器、服务器还是交换机,大多是用pc中远程登录的软件进行操作。

远程连接服务器

什么是远程连接服务器?

远程连接服务器通过文字或图形接口方式来远程登录系统,让你在远程终端前登录linux主机以取得可操作主机接口( shell),而登录后的操作感觉就像是坐在系统前面一样。SSH为建立在应用层基础上的安全协议。SSH是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用SSH协议可以有效防止远程管理过程中的信息泄露问题。SSH最初是UNIX系统上的一个程序,后来又迅速扩展到其他操作平台。SSH在正确使用时可弥补网络中的漏洞。SSH客户端适用于多种平台。几乎所有UNIX平台一包括HP-UX、Linux、AX、Solaris、 Digital UNIX、Irix,以及其他平台,都可运行SSH

远程连接服务器的功能

1、分享主机运算能力

2、服务器类型有限度开放连接

3、工作站类型,只对内网开放

常见的远程管理工具方式

|--RDP(remote desktop protocal )协议,windows远程桌面管理((图形界面)3389

l--telenet CLI界面下远程管理,几乎所有操作系统都有(内容明文传输)23

l--ssh CLI界面下的远程管理,几乎所有操作系统都有(内容加密传输)类unix系统下主要22远程管理方式( linux BSD Macos )

|--RFB ( remote frame buffer )图形化远程管理协议VNC (Virtual Network Computing)使用的协议。(在linux unix Macos下的图形界面远程管理工具)5900

SSH

1.SSH代表安全外壳(Secure Shell),它现在是通过互联网访问网络设备和服务器的唯一的主要协议。

2.SSH默认情况下通过端口22运行;不过很容易更改这个端口。

3.SSH是一种非常安全的协议,因为它共享并发送经过加密的信息,从而为通过互联网等不安全的网络访问的数据提供了机密性和安全性。

4.一旦通讯的数据使用ssH经过加密,就极难解压和读取该数据,所以我们的密码在公共网络上传输也变得很安全。

5.SSH还使用公钥用于对访问服务器的用户验证身份,这是一种很好的做法,为我们提供了极高的安全性。

6.SSH主要用在所有流行的操作系统上,比如Unix、Solaris、Red-Hat Linux、Centos和ubuntu等。

7.ssh服务端由2部分组成: openssh(提供ssh服务)openssl(提供加密的程序)sftp 22

8.ssh的客户端可以用XSHELL,Securecrt, Mobaxterm等工具进行连接,ssh sftp

如何实现加密

SSH算法

SSH为了确保信息的安全传输,从连接发起到完成各阶段的各个点SSH协议采用了许多不同类型的数据加密技术,包括可逆的对称加密,非对称加密以及不可逆的哈希散列。

Ssl/tls (Transport Layer Security传输层安全协议)

Secure Socket Layer,为Netscape所研发,用以保障在Internet上数据传输之安全,利用数据加密(Encryption)技术,可确保数据在网络上之传输过程中不会被截取及窃听。一般通用之规格为40 bit之安全标准,美国则已推出128 bit之更高安全标准,但限制出境。只要3.0版本以上之IE.或Netscape浏览器即可支持SSL。Sslv3
当前版本为3.0。它已被广泛地用于Web浏览器与服务器之间的身份认证和加密数据传输。
SSL协议位于TCP/IP协议与各种应用层协议之间,为数据通讯提供安全支持。

SSL协议的组成

SSL记录协议(SSL RecordProtocol )∶它建立在可靠的传输协议(如TCP)之上,为高层协议提供数据封装、压缩、加密等基本功能的支持
SSL握手协议( SSL Handshake Protocol )∶它建立在SSL记录协议之上,用于在实际的数据传输开始前,通讯双方进行身份认证、协商加密算法、交换加密密钥等。

ssl提供服务

ssh root@172.24.8.129
1)认证用户和服务器,确保数据发送到正确的客户机和服务器;                握手协议

2)加密数据以防止数据中途被窃取;                                                             ssl记录协议

3)维护数据的完整性,确保数据在传输过程中不被改变。


加密技术∶

对称密钥加密--共享密钥加密(对称密钥加密)∶加密和解密同用一个密钥。加密时就必须将密钥传送给对方,那么如何安全的传输呢
非对称密钥加密系统--公开密钥加密(非对称密钥加密)︰公开密钥加密使用一对非对称的密钥。一把叫做私有密钥,一把叫做公开密钥。私有密钥不能让其他任何人知道,而公开密钥则可以随意发布,任何人都可以获得。使用此加密方式,发送密文的一方使用公开密钥进行加密处理,对方收到被加密的信息后,再使用自己的私有密钥进行解密。利用这种方式,不需要发送用来解密的私有密钥,也不必担心密钥被攻击者窃听盗走

区别∶

1)非对称加密与对称加密的不同之处在于,为了在单个方向上发送数据,需要两个相关的一组密钥。其中一个密钥称为私钥,而另一个称为公钥。
2)非对称加解密的效率要远远小于对称加解密3)非对称秘钥相比对称秘钥更加安全
非对称加密中是用最广泛RSA算法就用到了利用大素数方便生成大整数(2048 ),但是该大素数则几乎无法分解的特性。最近热门的阿蒂亚老教授宣布证明《黎曼猜想》,就是用关于大素数分布的规律,如果该证明有效,能发现大素数的分布规律,则可能会影响大素数分解,读广泛使用的RSA算法可能产生影响。
 

ssh两种验证级别:

openssh openssl

从客户端来看,SSH提供两种级别的安全验证。

第一种级别(基于口令的安全验证)
只要你知道自己帐号和口令,就可以登录到远程主机。所有传输的数据都会被加密,但是不能保证你正在连接的服务器就是你想连接的服务器。可能会有别的服务器在冒充真正的服务器,也就是受到"中间人"这种方式的攻击。
第二种级别(基于密匙的安全验证)(客户端验证服务器)
需要依靠密匙,也就是你必须为自己创建一对密匙,并把公用密匙放在需要访问的服务器上。如果你要连接到SSH服务器上,客户端软件就会向服务器发出请求,请求用你的密匙进行安全验证。服务器收到请求之后,先在该服务器上你的主目录下寻找你的公用密匙,服务器就用公用密匙加密"质询"( challenge)并把它发送给客户端软件。客户端软件收到"质询"之后就可以用你的私人密匙解密再把它发送给服务器。
 

 ssh特点

ssh服务端由2部分组成: openssh(提供ssh服务)openssl(提供加密的程序) ssh root@ipssh的客户端可以用XSHELL,Securecrt,Mobaxterm等工具进行连接

SSH的工作机制

需要依靠密匙,也就是你必须为自己创建一对密匙,并把公用密匙放在需要访问的服务器上。如果你要连接到SSH服务器上
客户端软件就会向服务器发出请求,请求用你的密匙进行安全验证。服务器收到请求之后,先在该服务器上你的主目录下寻找你的公用密匙,服务器就用公用密匙加密"质询"( challenge )并把它发送给客户端软件。客户端软件收到"质询"之后就可以用你的私人密匙解密再把它发送给服务器

SSH的加密技术

加密技术∶传输过程,数据加密。
1.SSH1没有对客户端的秘钥进行校验,很容易被植入恶意代码
2.SSH2增加了一个确认联机正确性的Dffe_Hellman机制,每次数据的传输,Server都会检查数据来源的正确性,避免黑客入侵。
SSH2支持RSA和DSA密钥

DSA:digital signature Algorithm数字签名

RSA:既可以数字签名又可以加密

SSH功能特点

1.SSH是安全的加密协议,用于远程连接Linux服务器

2.SSH的默认端口是22,安全协议版本是SSH2

3.SSH服务器端主要包含2个服务功能SSH连接和SFTP服务器
xftp

4.SSH客户端包含ssh连接命令和远程拷贝scp命令等
sshscp

ssh命令使用

客户端ssh

1.登录︰
ssh 172.24.8.131
ssh root@172.24.8.131
ssh -p 22 root@172.24.8.131

2.直接执行命令-->最好全路径
ssh root@172.24.8.131 ls -l /mnt
== >ssh root@192.168.25.137 /bin/ls -ltr /backup/data

3.查看已知主机
cat /root/.ssh/known_hosts
 

SSH的工作过程

SSH版本协商阶段:

客户端通过TCP三次握手与服务器的sSH端口建立TCP连接。
1.服务器通过建立好的连接向客户端发送一个包含ssH版本信息的报文,格式为"sSH-<SSH协议号>”,软件版本号主要用于调试。
⒉.客户端收到版本号信息后,如果服务器使用的协议版本号低于自己的,但是客户端能够兼容这个低版本的SSH协议,则就使用这个版本进行通信。否则,客户端会使用自己的版本号。
3.客户端将自己决定使用的版本号发给服务器,服务器判断客户端使用的版本号自己是否支持,从而决定是否能够继续完成ssH连接。如果协商成功,则进入密钥和算法协商阶段。

密钥和算法协商阶段︰

1.服务器端和客户端分别发送算法协商报文给对端,报文中包含自己支持的公钥算法列表,加密算法列表,MAC (Message AuthenticationCode,消息验证码)算法列表,压缩算法列表等。
⒉.和版本协商阶段类似,服务器端和客户端根据自己和对端支持的算法来决定最终要使用的各个算法。
3.服务器端和客户端利用Dffi-Hellman密钥交换算法,主机密钥对等参数,生成共享密钥和会话lD。会话密钥用于在后续的通信过程中两端对传输的数据进行加密和解密,而会话ID用于认证过程

认证阶段︰

1.客户端向服务器端发送认证请求,请求中包含用户名,认证方法,密码或密钥。
2服务器端对客户端进行认证,如果认证失败,则向客户端发送失败消息,其中包含可以再次认证的方法列表。
3.客户端再次使用支持的认证方法中的一种进行认证,直到达到认证次数上限被服务器终止连接,或者认证成功为止。

SSH支持的两种认证方式
密码认证︰客户端通过用户名/密码进行认证,将使用会话密钥加密后的用户名和密码发送给服务器,服务器解密后与系统保存的用户名和密码进行对比,并向客户端返回认证成功或失败的消息。
密钥认证∶采用数字签名来进行认证,目前可以通过RSA和DSA两种算法实现数字签名,客户端通过用户名,公钥以及公钥算法等信息来与服务器完成验证。

会话请求阶段:

1.服务器等待客户端请求。
2认证完成后,客户端想服务器发送会话请求。
3.服务器处理客户端请求,完成后,会向客户端回复SsH_SMsG_sUCCEss报文,双方进入交互会话阶段。如果请求未被成功处理
则服务器返回
SSH_SMSG_FAILURE报文,表示请求处理失败或者不能识别客户端请求。

交互会话阶段︰

1.客户端将要执行的命令加密发送给服务器。
⒉.服务器收到后,解密命令,执行后将结果加密返回客户端。3.客户端将返回结果解密后显示到终端上。
 

ssh排查问题

1.判断物理链路是否通ping 192.168.25.130                是否同一个网的
                                ping本身是icmp协议
2.判断服务是否正常systemctl status sshd

3.Linux防火墙
firewall-cmd --list-all

4.测试:
ssh root@192.168.40.132

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值