• 关于

    ie 讨论服务器

    的搜索结果

问题

如何写性能测试用例

1. 如何写性能测试用例 由于性能测试与功能测试有很大的区别,所以讨论出的结果可能与预先的设想有一定的区别。 性能测试的目的: 为了验证系统是否达到用户提出的性能指标,同时发现系统...
技术小菜鸟 2019-12-01 21:41:03 3032 浏览量 回答数 1

回答

楼主,非常抱歉对您造成困扰和不好感受,如果输入的密码和验证码正确的情况下一般不会无法登陆,建议您清理下浏览器缓存,另外最近有用户反馈关于登陆需要输入验证码的流程很繁琐,此流程的改进已在考虑中,关于版本问题,目前很多其他的网站都同样有向高版本兼容倾向,未来这可能也是种趋势哦,如果您使用的是非ie的浏览器,邮箱登陆仍有问题,麻烦提供浏览器版本名称,通过: http://help.aliyun.com/bug?spm=0.0.0.0.CLqnWt提交问题,会有邮箱团队的人为您处理,谢谢。 ------------------------- 回 2楼(douglas) 的帖子 您好,出现此情况可能与您设置的浏览器模式有关系,打开ie浏览器,按f12,点击浏览器模式 提交问题,会有邮箱团队的人为您处理,谢谢。 ------------------------- 回 5楼(dooli) 的帖子 您好,十分抱歉,目前已购买服务器的云账号无法更改,服务器也无法在不同帐号间转移,请知晓,谢谢。 ------------------------- 回 7楼(dooli) 的帖子 您好,您的验证码截图看起来有点陌生哦,不知道您是在什么连接下出现的此验证码,麻烦再尝试下,如果仍有问题您可以直接拨打我们的售后电话0571-85025885,或者提交工单与我们联系哦,谢谢! ------------------------- 回 9楼(dooli) 的帖子 您好,关于来自110.75.186.226这个ip的嗅探问题已电话与您沟通原因,另外验证码的问题已反馈给相关团队排查,可能需要一定的时间,麻烦耐心等待,谢谢。 ------------------------- 您好,开发经测试确实有出错的情况,目前已经暂时先启用验证问题,您可以再尝试下,详细的优化措施开发会后续再详细讨论,谢谢您及时将问题反馈了我们,督促我们将体验做的更好,十分感谢! ------------------------- 回 12楼(gggxz) 的帖子 您好,昨晚部分用户的web登陆确实有所影响,原因是邮箱后端服务出现异常,工程师已处理,目前已能正常登陆,麻烦您再尝试下,谢谢。
阿里云支持与服务 2019-12-02 02:14:06 0 浏览量 回答数 0

问题

url 发送请求乱码解决。 400 请求报错 

来源:http://blog.csdn.net/shiqidide/article/details/6987449 最近遇到的这个问题,在百度找到的 发出来!作者地址是上面的网站 最近又碰到...
kun坤 2020-05-28 16:04:50 5 浏览量 回答数 1

回答

传输安全只有https 客户端hash密码只是表明作为网站拥有者不想也不会记录原始密码是什么 上面那个链接我回复过, 不用ssl就算加密也没用, 任意节点伪造response,加上一段js就可以实现form submit的全局委托, 直接把你表单的明文数据转发到第三方上, 再加密提交也没用 ######服务端添加一个文件MD5验证过程,客户端用AJAX配合验证本页面是否在传输过程中有被改动的痕迹~!######回复 @somecold : 第一个问题我觉得花大力气还堵不死没什么必要, 普通geotrust, comodo的256bit加密的收费ssl也就单域几十块一年, 相对来说彻底多了; 第二个问题, 没有任何办法能防止非正常的web方式构造http请求。######这么说确实没法在传输层保证,不过用这种方式应该可以杜绝大部分小黑客吧? 另外请教下有办法防止重构http请求吗?就是限定只能通过网页进行登录###### 之前我发帖讨论过,可以参考一下 http://www.oschina.net/question/42741_51307 ###### 恩我看完了,leo108 你的想法就是说在登录的时候先去服务器获取一个token(token只能用一次)。 然后拿 token 和 MD5(明文密码) 进行MD5加密后传输(数据库存 MD5(明文密码)。 这样看来针对登录这部分应该能有效防止我说的情况。 但是我现在有另外一个想法 是不是可以有办法防止 即使得到密串,也没法重构HTTP请求,就是只能通过打开网页输入用户名和密码来登录,没办法通过组装一个url或者编程实现登录? ######回复 @七液 : 不是很明白,什么也可以clone?网上没搜到http clone嗅探相关资料,麻烦说详细点。######这个也可以clone,看一下http clone嗅探的相关资料就知道了######sha1解开的成本太高 ######解开的成本高######随机验证码+hash目前最合适的方法用完后一次性抛弃即可。rsa还需要和服务器通讯这就和https一样了######明白了,你说的是加sha的方式成本太高吧,那有什么好办法没呢######蟋蟀哥哥是说oschina采用的sha1成本太高,还是说我说的问题可以采用sha1但是成本太高?###### https://mail.qq.com/  (本人亲测) 在IE登录QQ邮箱,Wireshark抓取Cookie,停止Wireshark,断网重拨获取新的IP,在Firefox注入Cookie,成功登录QQ邮箱. QQ邮箱难道连IP都不认证? 能控制网关第一手就能拿到Cookie,先不说破解用户密码. 不过普通人怎么可能控制公网上的网关? 路由局域网内用arpspoof欺骗,开IP路由转发还有可能办成网关过滤用户信息. 除非能入侵公网上的网关,否则都不太现实. ######一直觉得腾讯强在用户体验,技术在它们的价值观应该不是第一位的。出现这种情况也正常吧###### 我在想用java/flash做成控件配合des之类的加密的方法在http上传输安全不? ###### 引用来自“熊猫与猫无关”的答案 我在想用java/flash做成控件配合des之类的加密的方法在http上传输安全不? 安全应能达到,但是这样与ssl相比,有优势吗 ###### 引用来自“somecold”的答案 引用来自“熊猫与猫无关”的答案 我在想用java/flash做成控件配合des之类的加密的方法在http上传输安全不? 安全应能达到,但是这样与ssl相比,有优势吗 证书年年需要续费这个算不算SSL的劣势 (我是纯属来捣乱的.....) ###### 我想可以这么做: 1. md5(pwd)做为key去加密(用户的信息+ip+有效时间范围),加密算法,可以是tea 2.服务器用md5(pwd)做为key去解密,之后校验用户的信息,ip和有效时间范围。 3.服务器存储的就是md5(pwd)
kun坤 2020-06-08 11:22:51 0 浏览量 回答数 0

回答

为什么你的代码是一个单体? 除了已经实现了微前端的应用之外,所有前端应用本质上都是单一的应用。原因是如果您正在使用 React 库进行开发,并且如果您有两个团队,则两个团队都应该使用相同的React 库,并且两个团队应该在部署时保持同步,并且在代码合并期间始终会发生冲突。它们没有完全分离,很可能它们维护着相同的仓库并具有相同的构建系统。单体应用的退出被标志为微服务的出现。但是它适用于后端! 什么是微服务? 对于微服务,一般而言最简单的解释是,它是一种开发技术,允许开发人员为平台的不同部分进行独立部署,而不会损害其他部分。独立部署的能力允许他们构建孤立或松散耦合的服务。为了使这个体系结构更稳定,有一些规则要遵循,可以总结如下:每个服务应该只有一个任务,它应该很小。所以负责这项服务的团队应该很小。关于团队和项目的规模,James Lewis 和 Martin Fowler 在互联网上做出的最酷解释之一如下: 在我们与微服务从业者的对话中,我们看到了一系列服务规模。报道的最大规模遵循亚马逊关于Two Pizza Team的概念(即整个团队可以由两个比萨饼供给),意味着不超过十几个人。在规模较小的规模上,我们已经看到了一个由六人组成的团队支持六项服务的设置。 我画了一个简单的草图,为整体和微服务提供了直观的解释: 从上图可以理解,微服务中的每个服务都是一个独立的应用,除了UI。UI仍然是一体的!当一个团队处理所有服务并且公司正在扩展时,前端团队将开始苦苦挣扎并且无法跟上它,这是这种架构的瓶颈。 除了瓶颈之外,这种架构也会导致一些组织问题。假设公司正在发展并将采用需要 跨职能 小团队的敏捷开发方法。在这个常见的例子中,产品所有者自然会开始将故事定义为前端和后端任务,而 跨职能 团队将永远不会成为真正的 跨职能 部门。这将是一个浅薄的泡沫,看起来像一个敏捷的团队,但它将在内部分开。关于管理这种团队的更多信息将是一项非常重要的工作。在每个计划中,如果有足够的前端任务或者sprint中有足够的后端任务,则会有一个问题。为了解决这里描述的所有问题和许多其他问题,几年前出现了微前端的想法并且开始迅速普及。 解决微服务中的瓶颈问题:Micro Frontends 解决方案实际上非常明显,采用了多年来为后端服务工作的相同原则:将前端整体划分为小的UI片段。但UI与服务并不十分相似,它是最终用户与产品之间的接口,应该是一致且无缝的。更重要的是,在单页面应用时代,整个应用在客户端的浏览器上运行。它们不再是简单的HTML文件,相反,它们是复杂的软件,达到了非常复杂的水平。现在我觉得微型前端的定义是必要的: Micro Frontends背后的想法是将网站或Web应用视为独立团队拥有的功能组合。每个团队都有一个独特的业务或任务领域,做他们关注和专注的事情。团队是跨职能的,从数据库到用户界面开发端到端的功能。(micro-frontends.org) 根据我迄今为止的经验,对于许多公司来说,直接采用上面提出的架构真的很难。许多其他人都有巨大的遗留负担,这使他们无法迁移到新的架构。出于这个原因,更柔软的中间解决方案更加灵活,易于采用和安全迁移至关重要。在更详细地概述了体系结构后,我将尝试提供一些体系结构的洞察,该体系结构确认了上述提议并允许更灵活的方式。在深入了解细节之前,我需要建立一些术语。 整体结构和一些术语 让我们假设我们通过业务功能垂直划分整体应用结构。我们最终会得到几个较小的应用,它们与单体应用具有相同的结构。但是如果我们在所有这些小型单体应用之上添加一个特殊应用,用户将与这个新应用进行通信,它将把每个小应用的旧单体UI组合成一个。这个新图层可以命名为拼接图层,因为它从每个微服务中获取生成的UI部件,并为最终用户组合成一个无缝 UI,这将是微前端的最直接实现朗 为了更好地理解,我将每个小型单体应用称为微应用,因为它们都是独立的应用,而不仅仅是微服务,它们都有UI部件,每个都代表端到端的业务功能。 众所周知,今天的前端生态系统功能多样,而且非常复杂。因此,当实现真正的产品时,这种直接的解决方案还不够。 要解决的问题 虽然这篇文章只是一个想法,但我开始使用Reddit讨论这个想法。感谢社区和他们的回复,我可以列出一些需要解决的问题,我将尝试逐一描述。 当我们拥有一个完全独立的独立微应用时,如何创建无缝且一致的UI体验? 好吧,这个问题没有灵丹妙药的答案,但其中一个想法是创建一个共享的UI库,它也是一个独立的微应用。通过这种方式,所有其他微应用将依赖于共享的UI库微应用。在这种情况下,我们刚刚创建了一个共享依赖项, 我们就杀死了独立微应用的想法。 另一个想法是在根级共享CSS自定义变量( CSS custom variables )。此解决方案的优势在于应用之间的全局可配置主题。 或者我们可以简单地在应用团队之间共享一些SASS变量和混合。这种方法的缺点是UI元素的重复实现,并且应该对所有微应用始终检查和验证类似元素的设计的完整性。 我们如何确保一个团队不会覆盖另一个团队编写的CSS? 一种解决方案是通过CSS选择器名称进行CSS定义,这些名称由微应用名称精心选择。通过将该范围任务放在拼接层上将减少开发开销,但会增加拼接层的责任。 另一种解决方案可以是强制每个微应用成为自定义Web组件(custom web component)。这个解决方案的优点是浏览器完成了范围设计,但需要付出代价:使用shadow DOM进行服务器端渲染几乎是不可能的。此外,自定义元素没有100%的浏览器支持,特别是IE。 我们应该如何在微应用之间共享全局信息? 这个问题指出了关于这个主题的最关注的问题之一,但解决方案非常简单:HTML 5具有相当强大的功能,大多数前端开发人员都不知道。例如,自定义事件(custom events) 就是其中之一,它是在微应用中共享信息的解决方案。 或者,任何共享的pub-sub实现或T39可观察的实现都可以实现。如果我们想要一个更复杂的全局状态处理程序,我们可以实现共享的微型Redux,通过这种方式我们可以实现更多的相应式架构。 如果所有微应用都是独立应用,我们如何进行客户端路由? 这个问题取决于设计的每个实现, 所有主要的现代框架都通过使用浏览器历史状态在客户端提供强大的路由机制, 问题在于哪个应用负责路由以及何时。 我目前的实用方法是创建一个共享客户端路由器,它只负责顶级路由,其余路由器属于相应的微应用。假设我们有 /content/:id 路由定义。共享路由器将解析 /content,已解析的路由将传递到ContentMicroApp。ContentMicroApp是一个独立的服务器,它将仅使用 /:id 进行调用。 我们必须是服务器端渲染,但是有可能使用微前端吗? 服务器端呈现是一个棘手的问题。如果你正在考虑iframes缝合微应用然后忘记服务器端渲染。同样,拼接任务的Web组件也不比iframe强大。但是,如果每个微应用能够在服务器端呈现其内容,那么拼接层将仅负责连接服务器端的HTML片段。 与传统环境集成至关重要!但是怎么样? 为了整合遗留系统,我想描述我自己的策略,我称之为“ 渐进式入侵 ”。 首先,我们必须实现拼接层,它应该具有透明代理的功能。然后我们可以通过声明一个通配符路径将遗留系统定义为微应用:LegacyMicroApp 。因此,所有流量都将到达拼接层,并将透明地代理到旧系统,因为我们还没有任何其他微应用。 下一步将是我们的 第一次逐步入侵 :我们将从LegacyMicroApp中删除主要导航并用依赖项替换它。这种依赖关系将是一个使用闪亮的新技术实现的微应用:NavigationMicroApp 。 现在,拼接层将每个路径解析为 Legacy Micro App ,它将依赖关系解析为 Navigation MicroApp ,并通过连接这两个来为它们提供服务。 然后通过主导航遵循相同的模式来为引导下一步。 然后我们将继续从Legacy MicroApp中获取逐步重复以上操作,直到没有任何遗漏。 如何编排客户端,这样我们每次都不需要重新加载页面? 拼接层解决了服务器端的问题,但没有解决客户端问题。在客户端,在将已粘贴的片段作为无缝HTML加载后,我们不需要每次在URL更改时加载所有部分。因此,我们必须有一些异步加载片段的机制。但问题是,这些片段可能有一些依赖关系,这些依赖关系需要在客户端解决。这意味着微前端解决方案应提供加载微应用的机制,以及依赖注入的一些机制。 根据上述问题和可能的解决方案,我可以总结以下主题下的所有内容: 客户端 编排路由隔离微应用应用之间通信微应用UI之间的一致性 服务端 服务端渲染路由依赖管理 灵活、强大而简单的架构 所以,这篇文章还是很值得期待的!微前端架构的基本要素和要求终于显现! 在这些要求和关注的指导下,我开始开发一种名为microfe的解决方案。在这里,我将通过抽象的方式强调其主要组件来描述该项目的架构目标。 它很容易从客户端开始,它有三个独立的主干结构:AppsManager, Loader, Router 和一个额外的MicroAppStore。 AppsManager AppsManager 是客户端微应用编排的核心。AppsManager的主要功能是创建依赖关系树。当解决了微应用的所有依赖关系时,它会实例化微应用。 Loader 客户端微应用编排的另一个重要部分是Loader。加载器的责任是从服务器端获取未解析的微应用。 Router 为了解决客户端路由问题,我将 Router 引入了 microfe。与常见的客户端路由器不同,microf 的功能有限,它不解析页面而是微应用。假设我们有一个URL /content/detail/13 和一个ContentMicroApp。在这种情况下,microfe 将URL解析为 /content/,它将调用ContentMicroApp /detail/13 URL部分。 MicroAppStore 为了解决微应用到微应用客户端的通信,我将MicroAppStore引入了 microfe。它具有与Redux库类似的功能,区别在于:它对异步数据结构更改和reducer 声明更灵活。 服务器端部分在实现上可能稍微复杂一些,但结构更简单。它只包含两个主要部分 StitchingServer 和许多MicroAppServer。 MicroAppServer MicroAppServer 的最小功能可以概括为 init 和 serve。 虽然 MicroAppServer 首先启动它应该做的是使用 微应用声明 调用 SticthingServer 注册端点,该声明定义了 MicroAppServer 的微应用 依赖关系, 类型 和 URL架构。我认为没有必要提及服务功能,因为没有什么特别之处。 StitchingServer StitchingServer 为 MicroAppServers 提供注册端点。当 MicroAppServer 将自己注册到 StichingServer 时,StichingServer 会记录MicroAppServer 的声明。 稍后,StitchingServer 使用声明从请求的URL解析 MicroAppServers。 解析M icroAppServer 及其所有依赖项后,CSS,JS和HTML中的所有相对路径都将以相关的 MicroAppServer 公共URL为前缀。另外一步是为CSS选择器添加一个唯一的 MicroAppServer 标识符,以防止客户端的微应用之间发生冲突。 然后 StitchingServer 的主要职责就是:从所有收集的部分组成并返回一个无缝的HTML页面。 其他实现一览 甚至在2016年被称为微前端之前,许多大公司都试图通过 BigPipe 来解决Facebook等类似问题。如今这个想法正在获得验证。不同规模的公司对该主题感兴趣并投入时间和金钱。例如,Zalando开源了其名为Project Mosaic的解决方案。我可以说,微型和 Project Mosaic.遵循类似的方法,但有一些重要的区别。虽然microfe采用完全分散的路由定义来增强每个微应用的独立性,但Project Mosaic更喜欢每条路径的集中路由定义和布局定义。通过这种方式,Project Mosaic可以实现轻松的A/B测试和动态布局生成。 对于该主题还有一些其他方法,例如使用iframe作为拼接层,这显然不是在服务器端而是在客户端。这是一个非常简单的解决方案,不需要太多的服务器结构和DevOps参与。这项工作只能由前端团队完成,因此可以减轻公司的组织负担,同时降低成本。 已经有一个框架叫做 single-spa。该项目依赖于每个应用的命名约定来解析和加载微应用。容易掌握想法并遵循模式。因此,在您自己的本地环境中尝试该想法可能是一个很好的初步介绍。但是项目的缺点是你必须以特定的方式构建每个微应用,以便他们可以很好地使用框架。 最后的想法 我相信微前端话题会更频繁地讨论。如果该主题能够引起越来越多公司的关注,它将成为大型团队的事实发展方式。在不久的将来,任何前端开发人员都可以在这个架构上掌握一些见解和经验,这真的很有用。 关于本文 译者:@Vincent.W 译文:https://zhuanlan.zhihu.com/p/82965940 作者:@onerzafer 原文:https://hackernoon.com/understanding-micro-frontends-b1c11585a297 加入阿里云钉钉群享福利:每周技术直播,定期群内有奖活动、大咖问答 阿里云开发者社区
茶什i 2020-01-06 17:57:24 0 浏览量 回答数 0

问题

某政务网站性能优化

门户类网站性能测试分析及调优 1 背景   前段时间,性能测试团队经历了一个规模较大的门户网站的性能优化工作,该网站的开发和合作涉及多个组织和部门,而且网站的重要性不言而喻,同时上...
猫饭先生 2019-12-01 21:25:38 1412 浏览量 回答数 0

问题

软件测试的新趋势

2015年11月,ThoughtWorks发布了新一期的技术雷达。技术雷达是以独特的形式记录ThoughtWorks技术顾问委员会对行业产生重大影响的技术趋势讨论的结果,为从CIO到开发人员在内的各方利益相关 者...
技术小菜鸟 2019-12-01 21:47:02 6244 浏览量 回答数 1

回答

注意:本文相关配置及说明已在 CentOS 6.5 64 位操作系统中进行过测试。其它类型及版本操作系统配置可能有所差异,具体情况请参阅相应操作系统官方文档。 SSH 服务在进行数据传输前,会先进行密钥交换和协商确认。完成后再对后续数据进行加密传输,以提高安全性。本文先对 SSH 服务所采用的非对称加密技术进行简要介绍,然后对 SSH 连接过程中的相关交互,及关联文件进行说明。 非对称加密技术 SSH 服务基于非对称加密(public-key cryptography,也称公开密钥加密)技术实现数据加密传输。该技术会生成一对数学相关的密钥,其中一个用于对数据进行加密,而且只能用于加密,而另一个只能用于解密。使用加密密钥加密后的数据,只能用对应的解密密钥才能解密。而且,只知道其中一个密钥,无法计算出另一个。因此,如果公开了一对密钥中的一个,并不会危害到另一个的秘密性质。通常把公开的密钥称为公钥(public key),而不公开的密钥称为私钥(private key)。 如果公开的是解密密钥,该场景用于客户端验证持有私钥一方发布的数据或文件的完整性、准确性,以防止数据篡改。相应的密钥称为数字签名(数字证书)。如果公开的是加密密钥,该场景用于客户给私钥所有者上传数据,称为公开密钥加密。 SSH 服务基于该场景实现。 与对称密钥加密相比,非对称加密的优点在于不存在共享的通用密钥。由于解密用的私钥无需发送给任何用户,所以可以避免密钥被劫持或篡改。而加密用的公钥即便被劫持或篡改,如果没有与其匹配的私钥,也无法解密数据。所以,截获的公钥是没有任何用处的。 当前,SSH主要采用 RSA 算法(协议 V2 默认算法)和 DSA 算法(协议 V1 仅支持该算法)来实现非对称加密技术。 连接交互过程 SSH 服务建立连接时的相关交互过程,如下SSH 服务连接交互示意图 所示: 连接过程中的相关交互步骤,详细说明如下。 服务端准备阶段 非对称加密协商 后续数据交互过程 服务端准备阶段 服务端在每次启动 SSH 服务时,都会自动检查 /etc/ssh/ 目录下相关密钥文件的有效性。如果相关文件检查发现异常,则会导致服务启动失败,并抛出相应错误信息。 如果文件相关不存在,则会自动重新创建。 默认创建的相关文件及用途说明如下: ll /etc/ssh/ -rw-------. 1 root root 125811 Aug 13 2015 moduli → 用于 DH-GEX 算法 -rw-r--r--. 1 root root 2047 Aug 13 2015 ssh_config → SSH 客户端配置文件 -rw-------. 1 root root 3879 Aug 13 2015 sshd_config → SSH 服务配置文件 -rw-------. 1 root root 672 May 20 14:22 ssh_host_dsa_key → DSA 算法私钥 -rw-r--r--. 1 root root 590 May 20 14:22 ssh_host_dsa_key.pub → DSA 算法公钥 -rw-------. 1 root root 963 May 20 14:22 ssh_host_key → SSH V1 版RSA 算法私钥 -rw-r--r--. 1 root root 627 May 20 14:22 ssh_host_key.pub → SSH V1 版 RSA 算法公钥 -rw-------. 1 root root 1675 May 20 14:22 ssh_host_rsa_key → SSH V2 版 RSA 算法私钥 -rw-r--r--. 1 root root 382 May 20 14:22 ssh_host_rsa_key.pub → SSH V2 版 RSA 算法公钥 非对称加密协商 服务端 SSH 服务正常运行后,客户端连接时,进行如下交互: 客户端向服务端发送连接请求。 客户端通过 SSH 工具连接服务端。相关信息通过明文发送。 服务端返回公钥信息: 根据客户端所使用的服务协议版本及算法设置,返回相应公钥信息。比如,默认情况下,客户端通过 SSH V2 版协议,基于 RSA 算法建立连接,则服务端将 ssh_host_rsa_key.pub 文件中的内容返回客户端。相关信息通过明文发送。 客户端对服务端公钥信息进行比对和确认: 客户端接收到服务端公钥信息后,会进行如下比对,并让用户对相关信息进行确认。 如果是首次连接服务端,客户端会收到类似如下信息,让用户确认公钥指纹的有效性: The authenticity of host '192.168.0.1 (192.168.0.1)' can't be established. RSA key fingerprint is c2:49:d9:43:74:d5:ed:bc:28:9b:d2:7b:63:94:cf:bc. Are you sure you want to continue connecting (yes/no)? <ol> <li class="MsoListParagraph"><span>如果用户输入</span><span> <span>no </span></span><span>,则连接中断并报错(</span><span>Host key verification failed</span><span>)。</span></li> </ol> <ul> <li class="MsoListParagraph"><span>如果用户输入</span><span> <span>yes</span></span><span>,则会将相应的公钥信息,保存到当前用户家目录下</span><span> .ssh </span><span>目录内的</span><span> <span>known_hosts </span></span><span>文件中。</span><span> </span><span>比如:</span> cat ~/.ssh/known_hosts IP 明文显示: 192.168.0.1 ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA3sdlboGEgY9buZpkPuygPw0NxAvmxYd0mc3fo2MgP+JqgFC9/9ZXOgDXKJrjE2HKBieJZSPKGncIh+zLxTvmykeJQBXv7i1GiUjW+H3VY69Ge3AdGfCd+XF+Cvi1e+j18zhHnjSzvIBoNpT5cBWWNbw7mNHCwTb0sHAVUkWR4Ck/LM5/rQ09A+m6BLfZJL8CRNGxKTbyINi6o812S+Cy64WqDs1nTpIXp2Bkcpjclb36bFSs9Z/tWNuJl7A//7HNtxMgFGBnE07Ykvvy8s06DUmkyFy8GcXGBpnfdg9utLodfQLFQnKflCQZ110BpQaCWlWPjU9dc4w3XLJ/XQOP4w== IP 做了加密处理: |1|3efXAZ4sNHcUcHamBy4gDriblc8=|8idBhLq9aLl2sfh4KswMsk4sPFI= ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAwS4DE3hok8RCkxYlTxsexNrNa62e05UGSkoP7ie26DDWjG1Aoc74cCsE4is9p7lEfFUYYlAzeYhPqE/yGf5YxRZUOU2IeFI4cEqo8YZr7edVYpgAq2f2J0zMwk1syenD12lmUPkYA4mMB6it3jxXR5k+H0HZh9YA7mRXkiTjlkAMWirBcnUvtKYRv9LRIr3ikUiPy2gfZO291Ae9zuTsWwEtHQxIpiBgk3vwF2gCUFlX9y//IsMjdQq5prk7x3BjXhUorqgJO1gt1VHW8Xxx9Oe50YF1hi9DuE6VXwyh4xfHTmauRQybwsYafdA3HxrA2od6x9l19D9EH7xHAjDa5w== 如果服务端因重装系统等因素导致公钥指纹出现变化,则会直接导致连接失败(报错Host key verification failed),则需要删除已保存的条目后再重新连接。 相关操作可以参阅 云服务器 ECS Linux 客户端 SSH 公钥指纹不匹配导致 SSH 登录失败。 如果之前已经成功连接,而且公钥指纹对比一致,则会继续下一步操作。 客户端生成临时密钥对: 服务端公钥校验及确认后,客户端会生成一对临时密钥用于客户端加密。该密钥对不会存储到文件,而是记录在内存中。每次连接都会重新生成临时密钥对。 客户端发送公钥信息: 客户端向服务端,发送前述生成的临时密钥对中的公钥信息。相关信息通过明文发送。 至此,服务端及客户端都拥有对方的公钥和自身的私钥,所以称为非对称加密。 后续数据交互过程 后续登录校验及正常的数据传输,都会通过双向加密方式进行。相关交互说明如下: 如果服务端需要发送数据给客户端: 服务端使用所持有的客户端公钥,对需要传输的数据进行加密,再发送给客户端。客户端收到信息后,使用所持有的自身私钥解密后获取数据。 反之,如果客户端需要发送数据给服务端,也是类似的流程: 客户端使用所持有的服务端公钥,对需要传输的数据进行加密,再发送给服务端。服务端收到信息后,使用所持有的自身私钥解密后获取数据。 更多信息 公钥指纹 由于公钥一般较长(采用RSA算法时长达 1024 位)。所以,为了简便起见,通过对其MD5计算,生成一个128位的字符串用于信息对比。此称为公钥指纹。 Secure Shell:Wikipedia 上关于 SSH 的介绍和讨论。 OpenSSH Manual Pages:OpenSSH 官方使用手册。 RSA:Wikipedia 上关于 RSA 算法的介绍。 DSA:Wikipedia 上关于 DSA 算法的介绍。
KB小秘书 2019-12-02 02:07:15 0 浏览量 回答数 0

云产品推荐

上海奇点人才服务相关的云产品 小程序定制 上海微企信息技术相关的云产品 国内短信套餐包 ECS云服务器安全配置相关的云产品 开发者问答 阿里云建站 自然场景识别相关的云产品 万网 小程序开发制作 视频内容分析 视频集锦 代理记账服务 阿里云AIoT