背景
很早就有建站的的打算了,两个月前看到亚马逊云VPS有优惠,赶紧注册了一个,打算购买一年。但是当验证phone code的时候老是有问题,恰好那段时间比较忙就放一边了。 直到双十一的前一天,同事在群里发了一个阿里云打折的链接,赶紧上去看了一下,当天下班就买了个低配版,一核、1GB内存、40GB机械硬盘、1M带宽不限流量。话说原价是三年¥2952,现在只要¥800,感觉还行就买了。刚刚我又上去看了一眼,还是这个价,看来双十一优惠力度越来越不行了。各位童鞋如果有需求,传送门如下:
如果你是学生党,恭喜你,优惠力度就大了,前提是需要学生认证。
进入正题
购买及创建虚拟机实例非技术问题我就不赘述了,假设你已经有一台Linux CentOS的虚拟机。
简单的环境配置
创建工作用户
如果你接触过Linux,你可能听说过Linux有一条原则叫
最小权限原则
这也是我要单独创建工作用户的根本原因,如果你所有操作都用root用户,潜在的风险很高。
- 权限太高如果误操作的话,比如rm -rf *,那就只能哭了
- 如果系统有bug被黑客提权到root,那么黑客就可以为所欲为了
我们自己的博客其实还好,只要定期备份一下数据,顶多丢了几篇文章。我想说的是,安全意识一定要有。
#添加工作用户
[root@xxxxxx ~]# useradd zhangsan
配置新用户sudo命令
有些命令执行需要root权限,这时需要加sudo执行该命令,新添加的用户需要配置sudo,新用户不配置,linux下面运行sudo命令,会提示类似:
xxx is not in the sudoers file. This incident will be reported.
切换到root用户配置如下:
#给sudoers文件添加写权限,默认情况root用户也是没有写权限的
chmod u+w /etc/sudoers
#编辑文件
vim /etc/sudoers
#找到这一 行:"root ALL=(ALL) ALL",在下面添加,xxx是新建的用户名
xxx ALL=(ALL) ALL
#撤销文件的写权限
chmod u-w /etc/sudoers
设置用户公钥登录
使用密码登录总是会有密码泄露或弱密钥遭暴力破解的风险,因此使用公钥登录是一种比较安全的且方便的做法,可谓是百利无一害。
- 更改默认SSH22默认端口
#找到#Port 22一行,默认是注释掉的,去掉注释之后填写自己的端口,最大不要超过65535
[root@xxxxxx ssh]# vim /etc/ssh/sshd_config
- 禁止密码登录
#PasswordAuthentication 改为 no
[root@xxxxxx ssh]# vim /etc/ssh/sshd_config
- 在客户机生成自己的公私钥
#一路回车就好了
ssh-keygen -t rsa -C "zhangsan@qq.com"
生成好的密钥对默认在自己的工作目录的影藏文件夹(/Users/xxxxx/.ssh)下
#id_rsa是私钥、id_rsa.pub是公钥,id_rsa一定不能泄露,否则...
$.ssh ls
config id_rsa id_rsa.pub known_hosts
注意:以上生成密钥对是在自己的客户机,或者说自己的笔记本上进行,以后要用这台笔记本或台式机远程管理虚拟机。
- 在虚拟机上生成.ss目录
新建用户没有隐藏目录.ssh,可以通过以下命令自动新建一个,如果是root用户和普通用户的都是由同一个管理的话,可以直接把root目录下authorized_keys文件拷贝到普通用户下的.ssh目录就行了,这样就不用执行
ssh-keygen -t rsa
和编辑authorized_keys
了
#以下命令也会生成自己的公钥和私钥
[zhangsan@xxxxxx ~]$ssh-keygen -t rsa
#新建保存公钥信息文件,并把自己客户机的公钥拷贝到文件中
[zhangsan@xxxxxx ~]$vim authorized_keys
因为是手动新建的authorized_keys,其文件权限不对的话公钥ssh会报如下错误。
Permission denied (publickey,gssapi-keyex,gssapi-with-mic).
检查目录和文件权限,不对的话按照以下修改
# chmod 700 /home/zhangsan
# chmod 700 /home/zhangsan/.ssh
# chmod 644 /home/zhangsan/.ssh/authorized_keys //公钥文件的所有权限
# chmod 600 /home/zhangsan/.ssh/id_rsa //私钥文件的所有权限
小结
至此一切正常的话就可以用公钥登录服务器了。管理Linux服务器一定要重视权限的配置。始终以最小权限为原则,无用的服务端口一定要关闭,定期备份重要数据。
本文由 zealzhangz 创作,采用 知识共享署名4.0 国际许可协议进行许可
本站文章除注明转载/出处外,均为本站原创或翻译,转载前请务必署名
最后编辑时间为:
2018/03/07 13:28