升东运维是一家专业从事Linux/Freebsd Unix/Windows平台网站维护业务的公司,专业提供Linux(CentOS Redhat Ubuntu等),Unix(Freebsd),Nginx,Apache等系统及网站维护,七年从业经验

Posts Tagged ‘sshd’

ssh 超时断开服务器端解决办法(转)

星期一, 七月 16th, 2012

当用SSH Secure Shell连接Linux时,如果几分钟没有任何操作,连接就会断开。必须重新登陆才行,每次都重复相同的操作,很是烦人,一般修改两个地方可将这烦人的问题解决

 

1、echo $TMOUT
如果显示空白,表示没有设置, 等于使用默认值0, 一般情况下应该是不超时. 如果大于0, 可以在如/etc/profile之类文件中设置它为0.
Definition: TMOUT: If set to a value greater than zero, the value is interpreted as the number of seconds to wait for input after issuing the primary prompt. Bash terminates after waiting for that number of seconds if input does not arrive

 

2、修改/etc/ssh/sshd_config文件,将ClientAliveInterval 0和ClientAliveCountMax 3的注释符号去掉,将ClientAliveInterval对应的0改成60,ClientAliveInterval指定了服务器端向客户端请求消息的时间间隔, 默认是0, 不发送.而ClientAliveInterval 60表示每分钟发送一次, 然后客户端响应, 这样就保持长连接了.ClientAliveCountMax, 使用默认值3即可.ClientAliveCountMax表示服务器发出请求后客户端没有响应的次数达到一定值, 就自动断开. 正常情况下, 客户端不会不响应.

想参考更多,请输入man sshd_config了解更多信息

使用Denyhosts禁止针对linux sshd的暴力破解

星期三, 八月 24th, 2011

本文在centos5.6,ubuntu8.0.4测试通过

Ubuntu快捷安装 安装

sudo apt-get install denyhosts

重启命令 sudo /etc/init.d/denyhosts restart

启动命令 sudo /etc/init.d/denyhosts start

….

Centos安装方法

一、使用源代码安装

1、下载原文件且解压

wget http://downloads.sourceforge.net/denyhosts/DenyHosts-2.6.tar.gz
tar zxvf DenyHosts-2.6.tar.gz
cd DenyHosts-2.6

2、安装、配置和启动

python setup.py install

默认是安装到/usr/share/denyhosts/目录的,进入相应的目录修改配置文件

cd /usr/share/denyhosts/
cp denyhosts.cfg-dist denyhosts.cfg
cp daemon-control-dist daemon-control

默认的设置已经可以适合centos系统环境,你们可以使用vi命令查看一下denyhosts.cfg和daemon-control,里面有详 细的解释
接着使用下面命令启动denyhosts程序

chown root daemon-control
chmod 700 daemon-control
./daemon-control start

如果要使DenyHosts每次重起后自动启动还需做如下设置:

cd /etc/init.d
ln -s /usr/share/denyhosts/daemon-control denyhosts
chkconfig --add denyhosts
chkconfig --level 2345 denyhosts on

或者修改/etc/rc.local文件:

echo "/usr/share/denyhosts/daemon-control start" >> /etc/rc.local

DenyHosts配置文件denyhosts.cfg说明:(ubutnu编辑/etc/denyhosts.conf,centos编辑 /usr/share/denyhosts/denyhosts.cfg或者/etc/denyhosts.cfg)

添加下面两行,并且设置BLOCK_SERVICE = ALL,可以同时对vsftp进行防御

SSHD_FORMAT_REGEX=.* (sshd.*:|\[sshd\]|vsftpd.*:) (?P<message>.*)
USERDEF_FAILED_ENTRY_REGEX=authentication failure.* ruser=(?P<user>\S+) rhost=(?P<host>\S+)

SECURE_LOG = /var/log/secure
#SECURE_LOG = /var/log/auth.log #ubuntu用这个
#sshd日志文件,它是根据这个文件来判断的,不同的操作系统,文件名稍有不同。

HOSTS_DENY = /etc/hosts.deny

#控制用户登陆的文件

PURGE_DENY = 5m

#过多久后清除已经禁止的

BLOCK_SERVICE  = sshd

#禁止的服务名

DENY_THRESHOLD_INVALID = 1

#允许无效用户失败的次数

DENY_THRESHOLD_VALID = 10

#允许普通用户登陆失败的次数

DENY_THRESHOLD_ROOT = 5

#允许root登陆失败的次数

HOSTNAME_LOOKUP=NO

#是否做域名反解

DAEMON_LOG = /var/log/denyhosts

#DenyHosts的日志文件

更多的说明请查看自带的README文本文件。

二、使用yum命令安装

1、下载和安装EPEL RPM

cd /tmp
wget http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-3.noarch.rpm
rpm -Uhv epel-release-5-3.noarch.rpm

2、使用yum命令安装denyhosts

yum install denyhosts

主要配置文件/etc/denyhosts.cfg ,您可以看看,确保配置合适你的环境
3、添加系统启动自动运行

chkconfig --add denyhosts
chkconfig denyhosts on

如何你想把某个ip或者ip段放入白名单,可以使用下列命令,这样就可以避免把自己的ip阻止了

echo '208.85.151.*' >> /var/lib/denyhosts/allowed-hosts

这样208.85.151.*就可以不受到此程序的约束,请根据自己的环境进行设置
4、最后启动服务

service denyhosts start