在绝大部分的 Linux 服务器上都使用 OpenSSH 作为 SSH server,所以这篇文章只针对 OpenSSH。其实这些技巧都是很基础的,但如果你能好好使用它们的话,一定程度上确实可以有效提升 SSH 的安全性.
#以下配置项都是在 /etc/ssh/sshd_config 文件中修改。
1. 禁止 root 登录
PermitRootLogin no
当你启用这一选项后,你只能用普通用户登录,然后再用 su 或 sudo 切换到 root 帐户。
2. 仅允许指定用户和组登录
指定用户
AllowUsers ramesh john jason
指定组
AllowGroups sysadmin dba
3. 禁止指定的用户或组登录
指定用户
DenyUsers cvs apache jane
指定组
DenyGroups developers qa
注:Allow 和 Deny 可以组合使用,它们的处理顺序是:DenyUsers, AllowUsers, DenyGroups, AllowGroups
4. 修改 SSH 监听端口
把 SSH 监听端口改为 222
Port 222
5. 修改默认登录时间
当你连接到 SSH 后,默认是提供 2 分钟的时间让你输入帐户和密码来进行登录,你可以修改这个时间为 1 分钟或 30 秒。
LoginGraceTime 1m
6. 限制监听 IP
如果你的服务器上有多个网卡及 IP ,那么你可以限制某些 IP 不监听 SSH,只允许通过某些 IP 来登录。
比如你有四个网卡
eth0 – 192.168.10.200
eth1 – 192.168.10.201
eth2 – 192.168.10.202
eth3 – 192.168.10.203
你只想让用户通过 202, 203 这两个 IP 来登录,那么做以下设定
ListenAddress 192.168.10.200
ListenAddress 192.168.10.202
7. 当用户处于非活动时断线
当用户在 10 分钟内处于非活动状态的话,就自动断线。
ClientAliveInterval 600
ClientAliveCountMax 0
ClientAliveCountMax:默认为 3 ,表示当 SSH 没有任何活动时, SSH Server 会发送三次检查是否在线(checkalive)的消息。
ClientAliveCountMax:默认为 0,表示当过了几秒后,SSH Server 会发送消息要求用户响应(0 的话表示永远不发送),否则就断线。
8.设置登录密码输入的等待时间和最大重试次数
找到 LoginGraceTime 和 MaxAuthTries 两行,分别设置为 30 和 3,
则表示打开ssh连接之后你要在30秒内输入正确的密码否则断开连接,以及密码最多给重试 3 次。
9.密钥登录
#ssh-keygen -t rsa -b 1024
会生成私钥/home/username/.ssh/id_rsa
同时生成公钥/home/username/.ssh/id_rsa.pub
输入一个加密短语(也可省略)
'PasswordAuthentication no'
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/id_rsa.pub
将公钥下载到本地计算机,然后在ssh客户端软件中设置好,就可以登录了
—————————————————————————————————————————
需要翻墙利器? 请安装Wuala,查找和添加gfwblog为好友,就可高速下载翻墙软件,或访问http://tinyurl.com/gfwblog直接下载。
推特用户请点击这里免翻墙上推特
请点击这里下载翻墙软件
更多翻墙方法请发电邮(最好用Gmail)到:fanqiang70ma@gmail.com
请阅读和关注中国数字时代、翻墙技术博客GFW BLOG(免翻墙)
没有评论:
发表评论