OpenSSH是Linux/Unix下一款加密通讯软件,同时也是我们用来远程控制Linux/Unix服务器重要的必装软件。对于各版本的Linux及Unix发行版而言,OpenSSH的配置文件位置都各不一样。如Ubuntu下OpenSSH配置文件就在/etc/ssh/sshd_config。
OpenSSH安全选项:
// OpenSSH打开的端口号
LoginGraceTime 120 // 客户端连接服务器成功后多少秒未登陆就被强制关闭连接
PermitRootLogin yes // 是否允许Root用户登陆,yes为允许,no为禁止,为了安全起见,建议修改为no,防止被暴力破解
AllowUsers webgod // 允许登陆的用户,默认不存在
AllowGroups webgod // 允许登陆的用户组,默认不存在
DenyUsers webgod // 禁止登陆的用户,默认不存在
DenyGroups webgod // 禁止登陆的用户组,默认不存在
为了安全起见,可以把默认的22号端口修改为其他的空闲端口号(如435等),防止被扫描。同时,还需要把/etc/services文件中的ssh端口定义为:
ssh 22/tcp
ssh 22/udp
此外,也可以使用AllowUsers、AllowGroups、DenyGroups以及DenyUsers配置参数,或者它们的组合,限定用户或用户组的访问权限。例如,为了限定只有webgod用户能够访问系统,可以在/etc/ssh/sshd_config配置文件中增加下列配置参数
AllowUsers webgod
重新启动sshd之后,除了webgod用户,系统将会拒绝接收其他用户的登录,并输出拒绝访问的错误信息。
修改OpenSSH配置文件之后,为了使新的设置生效,需要重新启动sshd守护进程。
$ sudo /etc/init.d/ssh restart
附:与SSH有关的配置文件:
OpenSSH的设置文件和主要文件存放在/etc/ssh/目录中,主要包括如下文件:
/etc/ssh/sshd_config:sshd服务器的设置文件
/etc/ssh/ssh_config:ssh客户机的设置文件
/etc/ssh/ssh_host_key:SSH1用的RSA私钥
/etc/ssh/ssh_host_key.pub:SSH1用的RSA公钥
/etc/ssh/ssh_host_rsa_key:SSH2用的RSA私钥
/etc/ssh/ssh_host_rsa_key.pub:SSH2用的RSA公钥
/etc/ssh/ssh_host_dsa_key:SSH2用的DSA私钥
/etc/ssh/ssh_host_dsa_key.pub:SSH2用的DSA公钥