今天给大家分享SSH协议相关的知识介绍,希望对大家能有所帮助!
1、SSH协议概念介绍
SSH(SecureShell)安全外壳协议,是一种建立在应用层基础上的安全协议,通过对密码进行加密传输验证,可以在不安全的网络中对网络服务提供安全的传输环境,实现SSH客户端和SSH服务器端的连接,所以SSH是基于客户端-服务端模式。
2、SSH服务组成
SSH服务由服务端软件OpenSSH和连接客户端组成(SSH、SecureCRT,xshell等),默认端口是22。SSH是一个守护进程,负责实时监听客户端请求,并进行处理。
3、SSH协议框架组成
SSH协议框架中核心部分的三个协议:传输层协议、用户认证协议、连接协议。
4、SSH工作流程
4.1 版本号协商阶段
SSH目前包括 SSH1和SSH2两个版本, 双方通过版本协商确定使用的版本
注意:版本号协商阶段报文都是采用明文方式传输的。
4.2 密钥和算法协商阶段
SSH支持多种加密算法, 双方根据服务端和客户端支持的算法,协商出最终使用的算法
注意:在协商阶段之前,服务器端已经生成 RSA或 DSA密钥对,主要用于参与会话密钥的生成。
4.3 认证阶段
SSH客户端向服务端发起认证请求, 服务端会对客户端进行认证
4.4 会话请求阶段:
认证通过后,客户端向服务端发送会话请求
4.5 交互会话阶段
会话请求通过后,服务端和客户端可以进行信息的交互
说明:在当前阶段下,数据可以被双向传送
5、SSH的认证方式
5.1 password认证:
客户端向服务端发出password认证请求,然后将用户名和密码加密后发送给服务器;服务器将该信息解密后得到用户名和密码的明文,与自己设备上保存的用户名和密码进行比较,并返回认证成功或失败的消息。
5.2publickey 认证:
采用数字签名的方法来认证客户端。目前,设备上可以利用RSA和 DSA两种公共密钥算法实现数字签名。客户端发送包含用户名、公共密钥和公共密钥算法的publickey认证请求给服务端。服务器、端对公钥进行合法性检查,如果不合法,则直接发送失败消息;否则,服务器利用数字签名对客户端进行认证,并返回认证成功或失败的消息。
5.3. password-publickey 认证(SSH2.0)
指定该用户的认证方式为 password 和 publickey认证必须同时满足。说明:客户端版本为SSH1的用户只要通过其中一种认证即可登录;客户端版本为 SSH2的用户必须两种认证都通过才能登录。
5.4 any认证(SSH2.0)
指定该用户的认证方式可以是 password、 publickey中任意一种。
6、SSH常用命令
6.1 远程登录
ssh 用户名@远程主机ip:首次登陆需要下载对方公钥。示例:ssh 192.168.1.100
6.2 远程上传
scp [需要上传文件的本地位置] root@远程主机ip:[需要保存在远程主机的路径]:从本地上传文件到远程主机示例:scp /root/test.shroot@192.168.1.100
6.3 远程复制
scp root@远程主机ip:[远程主机文件绝对路径] [需要保存的本地位置]:从远程主机下载文件到本机示例:scproot@192.168.1.100:/root/test.sh /root
本网站的文章部分内容可能来源于网络和网友发布,仅供大家学习与参考,如有侵权,请联系站长进行删除处理,不代表本网站立场,转载者并注明出处:https://www.jmbhsh.com/shenghuokepu/33787.html