2015年9月29日 星期二

[備忘錄] Linux SSH 設定

順手記一下東西
1. 常見的crontab 中會用到 ,如
  0 6 * * * /usr/local/cpanel/scripts/exim_tidydb > /dev/null 2>&1
時間格式:分時日月周
/dev/null :視為黑洞裝置
>:將結果覆蓋前一次紀錄:
>>:將結果累加到前一次紀錄
> /dev/null 2>&1:可避免錯誤訊息產生時塞爆root信箱

2. 限定SSH 多久時間登出,編輯/etc/ssh/sshd_conf 中,
ClientAliveInterval及ClientAliveCountMax,
ClientAliveInterval的單位是秒。
設定好後,連線逾時時間就是ClientAliveInterval * ClientAliveCountMax
如果 ClientAliveCountMax 要設成0,逾時時間就是ClientAliveInterval設定的秒數。

TCPKeepAlive 設定成 no

實際測試結果:
要把ClientAliveCountMax 要設成0才會有用,似乎是putty等等的連線軟體會自動幫你回應..
所以我調整如下
ClientAliveInterval 300 #5分鐘
ClientAliveCountMax 0

3.

限制一下最大密码错误次数3次,自己登录基本不会连续错3次,密码错误超过3次拒绝登录


MaxAuthTries 3

4.
通过修改 SSH 配置文件简便地增强安全性

Port 22960 
LoginGraceTime 30 
MaxAuthTries 3 
Protocol 2 
PermitRootLogin no
LoginGraceTime 允许一次登录花费 30 秒;如果用户花费的时间超过 30 秒,就不允许他访问,必须重新登录。
MaxAuthTries 把错误尝试的次数限制为 3 次,3 次之后拒绝登录尝试。
上面的 Protocol 2 行禁止使用比较弱的协议。
最后一行不允许任何人作为root用户登录,这会让黑客攻击更困难。