网站首页 > 开源技术 正文
SSH(Secure Shell 安全外壳)是一种安全的远程登录协议。基于 TCP 进行传输,端口号是 22。
SSH 协议的特点:1.支持 DES、3DES 数据加密算法;2.支持公钥验证方式、密码验证方式、不验证方式;3.支持 RSA 认证,具有防篡改功能。SSH 协议是一种在不安全的网络环境中,通过加密和认证机制,实现安全远程访问及文件传输等业务的网络安全协议。
Telnet 数据采用明文传输,只支持传统密码认证方式,并且无法识别服务器身份。SSH 协议正是为了克服 Telnet 协议存在的问题而诞生的。FTP 也面临和 Telnet 相同问题。为解决 FTP 安全性问题,在 SSH 协议基础上扩展了对 FTP 安全性的支持,即 SFTP。
* SSH 的协议框架:
(1)传输层协议主要用来在客户端和服务器之间建立一条安全的加密通道,为用
户认证、数据交互等对数据传输安全性要求较高的阶段提供足够的机密性保
护。传输层提供了如下功能:1.数据真实性检查;2.数据完整性检查;3.为客
户端提供了对服务器进行认证的功能。
(2)认证层协议:运行在传输层协议之上,完成服务器对登录用户的认证。
(3)连接层协议:负责在加密通道上划分出若干逻辑通道,以运行不同的应用。
它运行在认证层协议之上,提供交互会话、远程命令执行等服务。
ssh连接建立过程
(1)服务器端和客户端收到对端发送过来的版本后,与本端的版本号进行比较,双方都支持的最高版本号即为协商出的版本号。(SSH1.99 为特殊的版本号,这个版本既可以与 SSH2.0 版本互通,又可以与 SSH1.5 版本互通)
(2)由于各种客户端和服务器对这些算法的支持情况不一样,需要通过算法协商阶段,使客户端和服务器协商出双方都支持算法。
(3)用户认证过程为:
1、客户端向服务器端发送认证请求报文,其中携带的认证方式为“none”。
2、服务器收到 none 方式认证请求,回复认证挑战报文。
3、客户端从服务器发送给自己的认证方式列表中选择某种认证方式,向服务器发起认证请求,认证请求中包含用户名、认证方法、与该认证方法相关的内容:1.密码认证方式中、2.公钥认证方式中。
4、服务器接收到客户端的认证请求,验证客户端的认证信息:1.密码认证方式、2.公钥认证方式。
5、服务器根据本端上该用户的配置,以及用户认证的完成情况,决定是否需要客户端继续认证,分为以下几种情况:
1.如果该种认证方式认证成功,且该用户不需要继续完成其他认证,则服务器回复认证成功消息,认证过程顺利完成。
2.如果该种认证方式认证成功,但该用户还需要继续完成其他认证,则回复认证失败消息,继续向客户端发出认证挑战,在报文中携带服务器需要客户端继续完成的认证方式列表;
3.如果该种认证方式认证失败,用户的认证次数尚未到达认证次数的最大值,服务器继续向客户端发送认证挑战;
4.如果该种认证方式认证失败,且用户的认证次数达到认证次数的最大值,用户认证失败,服务器断开和客户端之间的连接。
认证挑战战是指 SSH 服务器将用户需要完成的认证方式列表发送给用户,要求用户从中选择一种,继续发起认证请求。用户未完成认证时,服务器都会通过这种发送认证列表的方式,要求用户进行认证。
* SFTP 是 SSH 2.0 中支持的功能;SFTP 建立在 SSH 连接的基础之上;SFTP 使得远程用户可以安全地登录设备,进行文件操作。
*(1)配置 SSH 服务器-基本配置:
·生成 DSA 或 RSA 密钥对:[SWA] public-key local create {dsa|rsa}
·使能 SSH 服务器功能:[SWA] ssh server enable
(2)配置 SSH 服务器-用户配置:
配置客户端登录的用户界面为 scheme 方式:[SWA-ui-vty0-4] authentication-mode scheme
配置所在用户界面支持 SSH 协议:[SWA-ui-vty0-4] protocol inbound {all|ssh|telnet}
配置 SSH 用户并指定服务类型和认证方式:[SWA] ssh user username service-type stelnet authentication-type {password|{any|password-publickey|publickey} assign publickey keyname}
(3)配置 SSH 服务器-公钥认证:·从公钥文件中导入客户端的公钥:[SWA] public-key peer keyname import sshkey filename
·手工配置客户端的公钥:
1.[SWA] public-key peer keyname 2.[SWA-pkey-public-key] public-key-code begin 3.[SWA-pkey-key-code]输入公钥内容
4.[SWA-pkey-key-code] public-key-code end 5.[SWA-pkey-public-key]peer-public-key end
(4)配置 SSH 客户端:
·为 SSH 客户端指定源 IP 地址或源接口:[SWA] ssh client source {ip ip-address|interface interface-type interface-number}
·建立 SSH 客户端和服务器端的连接:[SWA] ssh2 server [port-number]
SSH 配置示例-密码认证:
SSH server配置:
[SWA] public-key local create rsa
[SWA] ssh server enable
[SWA] user-interface vty 0 4
[SWA-ui-vty0-4] authentication-mode scheme
[SWA-ui-vty0-4] protocol inbound ssh
[SWA] local-user client001
[SWA-luser-client001] password simple aabbcc
[SWA-luser-client001] service-type ssh level 3
[SWA] ssh user client001 service-type stelnet
authentication-type password
SSH Client配置:
<SWB> ssh2 10.0.0.1
Username: client001
Trying 10.0.0.1 ...
Press CTRL+K to abort
Connected to 10.0.0.1 ...
The Server is not authenticated. Continue? [Y/N]:y
Do you want to save the server public key? [Y/N]:n
Enter password:
SSH 配置示例-公钥认证:
SSH server配置:
[SWA] public-key local create rsa
[SWA] ssh server enable
[SWA] user-interface vty 0 4
[SWA-ui-vty0-4] authentication-mode scheme
[SWA-ui-vty0-4] protocol inbound ssh
[SWA-ui-vty0-4] user privilege level 3
[SWA] public-key peer Switch001 import sshkey key.pub
[SWA] ssh user client002 service-type stelnet
authentication-type publickey assign publickey Switch001
SSH Client配置:
[SWB] public-key local create rsa
[SWB] public-key local export rsa ssh2 key.pub
<SWB> ssh2 10.0.0.1
Username: client002
Trying 10.0.0.1 ...
Press CTRL+K to abort
Connected to 10.0.0.1 ...
The Server is not authenticated. Continue? [Y/N]:y
Do you want to save the server public key? [Y/N]:n
SFTP 相关配置: ·启动 SFTP 服务器:[SWA] sftp server enable
·配置 SSH 用户并指定服务类型和认证方式:[SWA] ssh user username service-type {all|sftp} authentication-type
{password|{any|password-publickey|publickey} assign publickey keyname work-directory directory-name}
·建立与 SFTP 服务器的连接:[SWA] sftp server [port-number]
SSH显示与维护:
①在 SSH 服务器端显示该服务器的状态信息或会话信息
display ssh server {status|session}
②在 SSH 客户端显示客户端保存的服务器端的主机公钥和服务器的对应关系
display ssh server-info
③在 SSH 服务器端显示 SSH 用户信息
display ssh user-information [username]
④显示本地密钥对中的公钥部分
display public-key local {dsa|rsa} public
⑤显示保存在本地的远端主机的公钥信息
display public-key peer [brief|name publickey-name]
猜你喜欢
- 2024-10-05 SSH 是如何工作的?(ssh的工作原理及作用)
- 2024-10-05 HTTPS 温故知新(五)——TLS 中的密钥计算
- 2024-10-05 操作系统:SSH协议知识介绍(ssh协议工作过程图)
- 2024-10-05 SSH 揭秘:安全远程访问的基石(安全远程连接协议)
- 2024-10-05 大数据学习环境搭建系列(十一)安装SSH服务
- 2024-10-05 Linux系统的启动过程和远程登录(linux远程启动进程)
- 2024-10-05 SSH远程连接服务详解(ssh远程连接服务器,使用什么端口号)
- 2024-10-05 SSH协议基本工作原理介绍(ssh协议主要由什么组成)
- 2024-10-05 SSH 简介:安全远程访问的利器(ssh远程登录功能配置)
- 2024-10-05 在 CentOS 7 中安装 SSH(centos6.5安装ssh)
你 发表评论:
欢迎- 05-16东契奇:DFS训练时喷了我很多垃圾话 我不懂他为什么比赛不这么干
- 05-16这两球很伤!詹姆斯空篮拉杆不中 DFS接里夫斯传球空接也没放进
- 05-16湖人自媒体调查:89%球迷希望DFS回归79%希望詹姆斯回归
- 05-16Shams:湖人得到全能球员DFS 节省了1500万奢侈税&薪金空间更灵活
- 05-16G5湖人胜率更高!詹姆斯不满判罚,DFS谈5人打满下半场:这很艰难
- 05-16DFS:当东契奇进入状态 所有防守者在他面前都像个圆锥桶
- 05-16上一场9中6!DFS:不能让纳兹-里德这样的球员那么轻松地投三分
- 05-16WIDER FACE评测结果出炉:滴滴人脸检测DFS算法获世界第一
- 最近发表
-
- 东契奇:DFS训练时喷了我很多垃圾话 我不懂他为什么比赛不这么干
- 这两球很伤!詹姆斯空篮拉杆不中 DFS接里夫斯传球空接也没放进
- 湖人自媒体调查:89%球迷希望DFS回归79%希望詹姆斯回归
- Shams:湖人得到全能球员DFS 节省了1500万奢侈税&薪金空间更灵活
- G5湖人胜率更高!詹姆斯不满判罚,DFS谈5人打满下半场:这很艰难
- DFS:当东契奇进入状态 所有防守者在他面前都像个圆锥桶
- 上一场9中6!DFS:不能让纳兹-里德这样的球员那么轻松地投三分
- WIDER FACE评测结果出炉:滴滴人脸检测DFS算法获世界第一
- 湖人自媒体调查:89%球迷希望DFS回归 79%希望詹姆斯回归
- 一觉醒来湖人苦盼的纯3D终于到位 DFS能带给紫金军多少帮助
- 标签列表
-
- jdk (81)
- putty (66)
- rufus (78)
- 内网穿透 (89)
- okhttp (70)
- powertoys (74)
- windowsterminal (81)
- netcat (65)
- ghostscript (65)
- veracrypt (65)
- asp.netcore (70)
- wrk (67)
- aspose.words (80)
- itk (80)
- ajaxfileupload.js (66)
- sqlhelper (67)
- express.js (67)
- phpmailer (67)
- xjar (70)
- redisclient (78)
- wakeonlan (66)
- tinygo (85)
- startbbs (72)
- webftp (82)
- vsvim (79)
本文暂时没有评论,来添加一个吧(●'◡'●)