自己的本本无法ssh上服务器,提示 ssh_exchange_identification: read: Connection reset by peer
仔细回想,自己手贱把~下面的一个ssh文件删掉了,呵呵......瓜了,无法备份了
 
原因:
本来以前设置了无需密码直接ssh,现在没办法,系统的denyhosts就认为这是一个非法ssh用户,就直接列入/etc/hosts.deny,一看,果然自己的ip在里头,唉...
 
解决:(参考大神的方法)
 

忽然间发现自己VPS不SSH了, WinSCP显示Server unexpectedly closed network
connection错误. 排除VPS的内存不足的问题, 回想是不是最近用SSH时输错密码导致DenyHosts将IP限制访问了.
本文适用于VPS安装了DenyHosts的站长.

如何查看问题的根源是不是DenyHosts对自己IP的锁定了? 首先访问主机商提供的VPS控制台,
用主机商提供的帐号和密码进入主机(个别VPS有提供单独的SSH帐号, 不是root帐号, 但又root权限,
通常为console-****), 用自己熟悉的Linux口令查看/etc/hosts.deny文件是不是包含了自己的IP, 如果是,
恭喜自己的主机DenyHosts工作正常吧.

DenyHosts会读取多个记录确保没有漏网之鱼.
网络上流传清空/var/log/secure和/etc/hosts.deny并不能完美解锁自己的IP,
很快就会被DenyHosts重新锁定. 这也是DenyHosts强大的地方.

下面是解锁的步骤,

首先停止DenyHosts, CentOS系统的可以用命令:

# service denyhosts stop

其他系统, 例如Ubuntu/Debian/Fedora/CentOS/Redhat

# /etc/init.d/denyhosts stop

然后请用自己熟悉的方法(通常是vi)在下列文件中找到自己的IP记录并删除, 不推荐这种方法因为用vi在下面的文件中找到自己的IP是非常费时费力的.

/var/log/secure              ×
/etc/hosts.deny            
×  通常只修改这两个文件就OK了
/usr/share/denyhosts/data/hosts
/usr/share/denyhosts/data/hosts-restricted
/usr/share/denyhosts/data/hosts-root
/usr/share/denyhosts/data/hosts-valid

可以用sudo sed -i '/ip/d' /var/log/secure 来直接修改,并使用sudo grep "ip"
/var/log/secure来查看是否修改成功(已编写脚本)

如果不在乎上面的记录文件, 推荐清空上面几个Linux系统日志然后重新开启DennyHosts.
清空这些Linux系统日志不会影响任何功能. 如果你觉得这几个文件记录对你很重要(真的?), 请不要随意清空,
老老实实使用上面的方法.

清空上面几个Linux系统日志很简单, 在SSH中敲入下面的命令:

cat /dev/null > /var/log/secure

cat /dev/null > /etc/hosts.deny

cat /dev/null > /usr/share/denyhosts/data/hosts
cat /dev/null > /usr/share/denyhosts/data/hosts-restricted

cat /dev/null > /usr/share/denyhosts/data/hosts-root
cat /dev/null > /usr/share/denyhosts/data/hosts-valid
cat /dev/null > /usr/share/denyhosts/data/offset

cat /dev/null > /usr/share/denyhosts/data/suspicious-logins

cat /dev/null > /usr/share/denyhosts/data/users-hosts

cat /dev/null > /usr/share/denyhosts/data/users-invalid
cat /dev/null > /usr/share/denyhosts/data/users-valid 把日志文件全部清空!要注意的是,清空后一定要 # service rsyslog restart 重启日志记数器!因为如果你不重启服务,你会发现secure日志文件会停止记录一切活动了!那么denyhosts也就无效了。 然后重新开启Deny Hosts
# service denyhosts start
其他系统, 例如Ubuntu/Debian/Fedora/CentOS/Redhat
# /etc/init.d/denyhosts start
最好
#service sshd restart
#service iptables restart

解除被DenyHosts锁定的IP地址的更多相关文章

  1. ORACLE如何找到引起账号锁定的IP的一点思考与总结

    在ORACLE数据库中,如果没有修改过FAILED_LOGIN_ATTEMPTS的话,默认10次尝试失败后就会锁住用户.此时再登录数据库,就会遇到ORA-28000: the account is l ...

  2. Oracle 找到引起账户锁定的IP

    在ORACLE数据库中,如果没有修改过FAILED_LOGIN_ATTEMPTS的话,默认10次尝试失败后就会锁住用户.此时再登录数据库,就会遇到ORA-28000: the account is l ...

  3. NetSetMan IP地址切换工具

    http://www.netsetman.com/en/freeware NetSetMan NetSetMan是一个网络设置管理器,它可以很容易在6种不同的,视觉结构化的配置之间切换,包括: IP地 ...

  4. vc根据域名获取IP地址 gethostbyname()函数

    以下是VC Socket初始化时用到的两个函数 一.WSAStartup函数                int WSAStartup                       (         ...

  5. 局域网IP地址

    A类: 10.X.X.X是私有地址(私有地址就是在互联网上不使用,而被用在局域网络中的地址). 127.X.X.X是保留地址,用做循环测试用的. B类: 172.16.0.0---172.31.255 ...

  6. 转:为什么根据IP地址查询物理所在地,而不是mac地址?

    来自 https://mp.weixin.qq.com/s/aOZQGMnMI2nkX4-qcJL4WQ 读者 不是说mac地址是计算机网卡唯一的地址吗?这样不是可以直接定位到某一台机器吗?为什么要用 ...

  7. 总结描述用户和组管理类命令的使用方法,系统用户相关信息,取出主机IP地址

    1.列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可. [root@db146 ~]# who|cut -f1 -d' ' |sort -u root 2.取出最后 ...

  8. Delphi 获取Ip地址的方法总结

    通过注册表获取或修改Ip 想到Windows会把系统网卡相关信息存入注册表,肯定可通过注册表读取具体ip信息.大致思路是找HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\W ...

  9. 从ip addr add和ifconfig的区别看linux网卡ip地址的结构

    今天一个老外在邮件列表上问了一个问题,就是ip addr add和ifconfig的区别,我给他进行了解答,可能因为英语不好吧,解答的很简单,因此我还是要在这里详细说明一下.其实它们之间没有什么区别, ...

随机推荐

  1. 【Android & iOS】应用升级实现

    在移动应用中,都会有的一个功能就是应用版本升级,怎么实现这个功能呢? 基本的思路就是:对比当前使用的应用版本和最新的版本号,如果版本号不一致,就可以提示用户升级啦. Android中,可以通过一下方式 ...

  2. 一个完整的SSL连接建立过程

    客户端浏览器连接到Web服务器,发出建立安全连接通道的请求. 服务器接受客户端请求,发送服务器证书做为响应. 客户端验证服务器证书的有效性,如果验证通过,则用服务器证书中包含的服务器公钥加密一个会话密 ...

  3. css多行文本居中

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  4. JAVA笔记(一)super and this

    http://zhangjunhd.blog.51cto.com/113473/20531 总结关键字this与super用法. author: ZJ 07-3-12 Blog: [url]http: ...

  5. 修改jquery的remote让前段显示服务器错误信息

    remote: function (value, element, param) { //param 是你的rules中规定的参数,在这里肯定是remote中的参数了 //value是你输入的值 // ...

  6. http status 400,http 400,400 错误

    转载:http://blog.csdn.net/xu_zh_h/article/details/2294233 4 请求失败4xx 4xx应答定义了特定服务器响应的请求失败的情况.客户端不应当在不更改 ...

  7. JIT和程序的首次执行

    由于C#源代码经过编译器编译生成的是IL代码,而IL是与CPU无关的机器语言.因此当程序运行于特定的CPU时,首先必须将IL转换成本地CPU指令,这正是JIT(Just-In-Time)编译器的任务. ...

  8. 闲来瞎扯 -- 在vs2008下编写linux程序

    虽说vim很强大,但是个人感觉器代码提示功能不如visual assist来的强大.如何使用visual assist来实现代码的提示功能呢? 首先说明我的环境 : 宿主机是xp(O(∩_∩)O~还是 ...

  9. 只有勇敢的人、鲁莽的人和绝望的人才会追求大的变革 – D.J. Anderson

    只有勇敢的人.鲁莽的人和绝望的人才会追求大的变革 – D.J. Anderson http://www.cnblogs.com/lchrennew/p/Why-The-Future-Of-Agile- ...

  10. linux之SQL语句简明教程---AND OR

    在上一页中,我们看到 WHERE 指令可以被用来由表格中有条件地选取资料. 这个条件可能是简单的 (像上一页的例子),也可能是复杂的.复杂条件是由二或多个简单条件透过 AND 或是 OR的连接而成.一 ...