环境:ubuntu 12.04
 

一、简单安装设置

1. 安装ssh 服务器

$ sudo apt-get install openssh

2. 查看运行状态

$ service ssh status

3. 设置(/etc/ssh/sshd_config)

* 禁用root用户登录  
PermitRootLogin yes #yes改为no

* 端口扫描软件默认扫描22端口,修改为其它端口。

port 

* 设置最大密码错误次数

MaxAuthTries 

4. 重启

$ sudo service ssh restart

5. 查看ssh登录日志文件

$ sudo vim /var/log/auth.log

a. 查看登录失败的IP

sudo grep "Failed password for root" /var/log/auth.log | awk {'print $11'} | uniq -c | sort -rn

b. 查看登录成功的IP

grep "Accepted password for " /var/log/auth.log

二、限制IP登录

 
1.  编辑/etc/hosts.allow (手动)   
 
2. 安装denyhosts,自动加登录失败的到黑名单  
$ sudo apt-get install denyhosts

默认配置就可以了。

查看配置信息:

 $ sudo vim /etc/denyhosts.conf 

下面是一些设置的介绍,配置文件中有详细说明。

 1 SECURE_LOG = /var/log/auth.log #ssh 日志文件,它是根据这个文件来判断的。
HOSTS_DENY = /etc/hosts.deny #控制用户登陆的文件
PURGE_DENY = #过多久后清除已经禁止的,空表示永远不解禁
BLOCK_SERVICE = sshd #禁止的服务名,如还要添加其他服务,只需添加逗号跟上相应的服务即可
DENY_THRESHOLD_INVALID = #允许无效用户失败的次数
DENY_THRESHOLD_VALID = #允许普通用户登陆失败的次数
DENY_THRESHOLD_ROOT = #允许root登陆失败的次数
DENY_THRESHOLD_RESTRICTED =
WORK_DIR = /var/lib/denyhosts #运行目录
SUSPICIOUS_LOGIN_REPORT_ALLOWED_HOSTS=YES
HOSTNAME_LOOKUP=YES #是否进行域名反解析
LOCK_FILE = /var/run/denyhosts.pid #程序的进程ID
ADMIN_EMAIL = root@localhost #管理员邮件地址,它会给管理员发邮件
SMTP_HOST = localhost
SMTP_PORT =
SMTP_FROM = DenyHosts <nobody@localhost>
SMTP_SUBJECT = DenyHosts Report
AGE_RESET_VALID=5d #用户的登录失败计数会在多久以后重置为0,(h表示小时,d表示天,m表示月,w表示周,y表示年)
AGE_RESET_ROOT=25d
AGE_RESET_RESTRICTED=25d
AGE_RESET_INVALID=10d
RESET_ON_SUCCESS = yes #如果一个ip登陆成功后,失败的登陆计数是否重置为0
DAEMON_LOG = /var/log/denyhosts #自己的日志文件
DAEMON_SLEEP = 30s #当以后台方式运行时,每读一次日志文件的时间间隔。
DAEMON_PURGE = 1h #当以后台方式运行时,清除机制在 HOSTS_DENY 中终止旧条目的时间间隔,

最新文章

  1. httpCookie与Cookie安全
  2. Acadia Lab 203 + Lab 231
  3. NSRunLoop概述和原理
  4. maven web project打包为war包,目录结构的变化
  5. Emgu学习之(二)——图像读取、显示、保存
  6. ibatis 改下数据库连接
  7. 《算法导论》习题解答 Chapter 22.1-4(去除重边)
  8. uvalive 4513 Stammering Aliens
  9. SonarQube(5.0.1) 环境的安装配置
  10. JS实例(二)
  11. JSP Servlet SQL 三者之间数据传递
  12. 解决 jQuery.UI.Resizable aspectRatio在init后无法重新设置
  13. DIV+CSS 规范命名集合
  14. Effective Java 第三版——16.在公共类中使用访问方法而不是公共属性
  15. [Swift]LeetCode71. 简化路径 | Simplify Path
  16. Linux内核入门到放弃-时间管理-《深入Linux内核架构》笔记
  17. 【Mac】-NO.161.Mac.1 -【MacOS Error running &#39;Tomcat 8.5.371&#39;: Cannot run program Permission denied】
  18. CSS3中很容易混淆的transform,translate,transition。如何去区分,以及综合写法。
  19. python bittorrent 使用与学习
  20. Unity3d跨平台原理

热门文章

  1. template和templateUrl区别与联系
  2. AI 对不起 我还爱着你
  3. Commons CLI - Option Properties
  4. Jersey(1.19.1) - Client API, Security with Http(s)URLConnection
  5. C# 正则表达式(一)
  6. jquery 事件委托绑定click的使用方法
  7. 第二篇、JavaScript常用的API
  8. JavaScript学习笔记(12)——JavaScript自定义对象
  9. JavaScript---Cookie
  10. Android开发之如何保证Service不被杀掉(前台服务)