近期由于项目需求,采购了两台阿里云ECS,选择的系统为CentOS 6.3 X64 安全加固版,额外买了160G的硬盘,应该够应付此项目的需求了。html
ECS默认已经配置好了sshd服务,可使用root帐号直接登陆,可是这一般是不安全的,第一件事就是针对sshd服务进行优化配置。linux
1.建立经常使用的帐号vim
在任何Linux相关的描述中,都会说平常使用root操做是很不安全的行为,所以首先建立一个平常使用的帐户。windows
useradd gary passwd gary
2.编辑sudoer文件centos
vim /etc/sudoers
加入用户,以便使用sudo命令直接操做一些系统命令,减小对root帐户的使用。安全
3.编辑sshd配置文件,修改一些默认选项服务器
vim /etc/ssh/sshd_config
修改一些默认的配置项ssh
#仅使用SSH2协议 Protocol 2 #修改密钥生成强度 ServerKeyBits 1024 #禁止root帐户经过ssh登陆 PermitRootLogin no #禁止使用常规的用户名密码方式登陆,此项慎用 #在没有生成好Key,而且成功使用以前,不要设置为no PasswordAuthentication no #禁止空密码登陆 PermitEmptyPasswords no
4.重启sshd服务优化
/etc/rc.d/init.d/sshd restart 或 service sshd restart
5.生成我的的公钥与密钥阿里云
#切换到要生成key的帐号 su - gary #创建公钥与私钥 ssh-keygen -t rsa #密钥文件,可直接回车使用默认的文件名 Enter file in which to save the key (/home/gary/.ssh/id_rsa): #输入两遍密钥文件,仅供密钥登陆用,可为空,不需与系统密码一致 Enter passphrase (empty for no passphrase): Enter same passphrase again: #更名为sshd支持的默认公钥文件名 mv ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys #设置公钥文件名,如不设置为400,会没法登陆 chmod 400 ~/.ssh/authorized_keys #取出私钥文件(可远程经过pscp获取),并删除服务器备份 rm –rf ~/.ssh/id_rsa
6.在linux系统中,能够直接使用密钥文件,登陆远程服务器
ssh gary@ip -i id_rsa
7.在windows系统中,须要使用putty项目的puttygen生成本地私钥,再使用putty进行登陆
载入--所有文件,选择获取到的服务器密钥--肯定(若是服务器端生成时,设置了密钥,会提示输入)--保存私钥(保存为本地putty但是别的ppk私钥文件)
在putty的认证标签中,浏览选择上一步生成的ppk私钥文件,便可登陆。
8.总结
8.1.为何说是安全的SSH连接呢?关闭了空密码连接、禁止常规的ssh用户名密码方式登陆,只有在服务器上生成过key文件的用户方可访问,key文件+密钥,保护更完善一些
8.2.友情提示,PasswordAuthentication no配置内容,必定要在已经生成好了至少一个key以后再使用,不然会致使直接没法登陆哦。
8.3.参考:
http://www.centospub.com/make.html