原文地址:http://www.cnblogs.com/lykyl/archive/2011/03/10/1980304.html
一、基于密钥认证的服务端基本安全设置:
1、修改/etc/ssh/sshd_config,具体如下:
Protocol 2 #只支持SSH2协议
Port <端口号> #修改默认端口号
MaxStartups 5 #同时允许5个尚未登录的SSH联机
MaxAuthTries 3 #最大登录尝试次数为3
ServerKeyBits 1024 #将ServerKey强度改为1024比特
PermitEmptyPasswords no #禁止空密码进行登录
ChallengeResponseAuthentication no #禁用s/key密码
UsePAM no #不通过PAM验证
PermitRootLogin no #禁止root远程登录
PasswordAuthentication no #不允许密码方式的登录
RSAAuthentication no #不允许RSA认证,只针对SSH1
PubkeyAuthentication yes #允许公钥认证
AuthorizedKeysFile .ssh/authorized_keys #保存公钥的认证文件
UsePrivilegeSeparation yes #用户权限设置
SyslogFacility AUTH #记录SSH登录情况
LogLevel INFO #记录等级为INFO
PrintMotd yes #登录成功后显示/etc/motd 文件的内容
PrintLastLog no #不显示上次登录信息
Compression yes #是否压缩命令
KeepAlive yes #防止死连接
StrictModes yes #接受连接请求前对用户主目录和相关的配置文件进行宿主和权限检查
UseDNS no #不使用DNS反解
AllowUsers <用户名> #允许通过远程访问的用户,多个用户以空格分隔
AllowGroups <组名> #允许通过远程访问的组,多个组以空格分隔
DenyUsers <用户名> #禁止通过远程访问的用户,多个用户以空格分隔
DenyGroups <组名> #禁止通过远程访问的组,多个组以空格分隔
2、如果需要限制来路IP的话,可以修改/etc/hosts.deny和/etc/hosts.allow两个文件,通过添加sshd:<IP地址或IP段>来限制或允许SSH远程链接IP。