Connection reset by peer

问题: 

1 spawn ssh root@91.213.222.197 -p 26002 # 用户名、IP地址、端口号
2 ssh_exchange_identification: read: Connection reset by peer

解决方案:

1 ssh -v user@server

即:

ssh -v root@91.213.222.197 -p 26002

附录(仅针对SSH在Linux Shell中的用法)

一、什么是SSH?

Secure Shell(安全外壳协议,简称SSH)是一种加密的网络传输协议,可在不安全的网络中为网络服务提供安全的传输环境。SSH最常见的用途是远程登录系统。SSH既有商业实现,也有开源实现。

SSH以非对称加密实现身份验证。身份验证有多种途径,其中一种方法是使用自动生成的公钥-私钥对来简单地加密网络连接,随后使用密码认证进行登录;另一种方法是人工生成一对公钥和私钥,通过生成的密钥进行认证,这样就可以在不输入密码的情况下登录。任何人都可以自行生成密钥。公钥需要放在待访问的电脑之中,而对应的私钥需要由用户自行保管。认证过程基于生成出来的私钥,但整个认证过程私钥本身中不会传输到网络中。

SSH协议有两个主要版本,分别是SSH-1和SSH-2。无论是哪个版本,核实未知密钥来源都是重要的事情,因为SSH只验证提供用户是否拥有与公钥相匹配的私钥,只要接受公钥而且密钥匹配服务器就会服务器就会授予许可。这样的话,一旦接受了恶意攻击者,那么系统也把攻击者视为合法用户。

二、基本用法

SSH主要用于远程登录。假设用户名user,登录远程主机host,如下所示。

1 ssh user@host

如果本地用户名与远程用户名一致,登录时可以省略用户名。

ssh host

SSH的默认端口是22,也就是说,登录请求会送进远程登录主机的22端口。使用p参数,可以修改端口。本文开头已举例。

三、中间人攻击

SSH之所以能够保证安全,原因在于它采用了公钥加密。

整个过程是这样的:1)远程主机收到用户的登录请求,把自己的公钥发给用户;2)用户使用这个公钥,将登录密码加密后,发送回来;3)远程主机用自己的私钥,解密登录密码,如果密码正确,就同意用户登录。

如果攻击者插在用户与远程主机之间(比如在公共的Wi-Fi区域),用伪造的公钥,获取用户的登录密码。再用这个密码登录远程主机,那么SSH的安全机制就荡然无存了。这就是著名的“中间人攻击”(Man-in-the-middle attack)。

 

posted @ 2018-02-05 09:21  菲儿飞飞  Views(4697)  Comments(0Edit  收藏  举报