Monday, February 13, 2012

配置 SSH



要进行远程管理,需要配置 SSH。为了提高安全性,我们需要更改 SSH 服务的默认端口,并另行建立新的账户,并禁止 root 远程登录。
如果使用的是 VPS 或独立主机,只能通过 SSH 远程操作时,进行此步时一定要多加小心。更改端口或禁用 root 时,一定要先测试以新的端口和账户能否顺利登录,才能去掉原来的默认端口并禁用 root。这能避免意外情况导致无法再登录服务器。
首先,建立一个新用户,并设置密码:
useradd -G wheel mysiteadmin
passwd mysiteadmin
然后,授予 sudo 权限,用 visudo 命令编辑 /etc/sudoers,添加 mysiteadmin 一行:
## Allow root to run any commands anywhere
root           ALL=(ALL)     ALL
mysiteadmin    ALL=(ALL)     NOPASSWD:ALL
CentOS 6 Minimal 默认已经安装了 SSH,如果没有安装,请执行 yum install openssh-server。
编辑 SSH 配置文件 /etc/ssh/sshd_config,将原来的“# Port 22”改为以下两行,将 4671 改为你想要的端口号,注意不要与现有软件使用的端口相冲突:
Port 22
Port 4671
然后在此文件中搜索“PermitRootLogin yes”,改为“PermitRootLogin no”。
接着在防火墙上开放新的 SSH 端口,编辑 /etc/sysconfig/iptables,加入如下一行,然后执行命令 service iptables restart 重启防火墙:
-A INPUT -m state --state NEW -m tcp -p tcp --dport 4671 -j ACCEPT
最后用新的账户和端口登录服务器,测试无问题后,去掉 SSH 配置文件和 iptables 规则中的 22 端口。

No comments: