ssh服务
Posted young233
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ssh服务相关的知识,希望对你有一定的参考价值。
一. 概念、定义:
* SSH是Secure Shell Protocol的简写,由IETF网络工作小组(Network Working Group)制定。
* SSH在数据传输之前,将联机数据包进行加密处理,才会发出给服务端。
* SSH是unix/linux进行远程控制或者传输文件的一种协议。
* SSH包括两部分,SSH客户端和SSHD服务端。
二. 特点:
* SSH是密文传输,较明文传输的telnet安全。
* SSH是基于TCP传输协议的,所以是可靠传输。
* SSH的默认端口是22,如要改变端口号,需在修改配置文件之后,加-p参数指定新端口进行ssh连接。
三. 连接过程:
基于账户密码的连接方式:
1) 客户端用会话密钥加密用户名、认证方法、密码并将加密后的结果发至服务器端。
2) 服务器端使用会话密钥解密得到用户名、密码,进行核对。若正确,则通过连接;若失败,则返回认证失败报文给客户端。客户端循环第一步,
直至达到最大连接次数,TCP连接关闭。
基于公钥私钥的连接方式:
1) 客户端使用ssh-keygen生成一对公钥和私钥。
2) 客户端将公钥推送至服务端。ssh-copy-id -i ~/.ssh/id_rsa.pub server,即将本机的公钥推送至server机的~/.ssh/authorized_keys里。
3) 客户端用会话密钥加密用户名、认证方法、公钥并将加密后的结果发至服务器端。
4) 服务器端进行解密后,对比此公钥是否存在于server机的~/.ssh/authorized_keys里。若存在,通过验证,进行下一步;若不存在,
则返回失败信息。
5) 服务器端生成质询码,用客户端公钥进行一次加密,用会话密钥进行二次加密,推送给客户端。
6) 客户端使用会话密钥进行一次解密,用公钥进行二次解密得到质询码。将质询码用会话密钥加密后重新发送给服务器端。
7) 服务器端使用会话密钥解密后,判断是否是自己的质询码。如果是,则免密登录;若不是,则返回连接失败的信息。
以上是关于ssh服务的主要内容,如果未能解决你的问题,请参考以下文章