Linux建站小记篇一之环境准备

/ Linux/UnixJava技术 / 没有评论 / 2300浏览

背景

很早就有建站的的打算了,两个月前看到亚马逊云VPS有优惠,赶紧注册了一个,打算购买一年。但是当验证phone code的时候老是有问题,恰好那段时间比较忙就放一边了。 alt 直到双十一的前一天,同事在群里发了一个阿里云打折的链接,赶紧上去看了一下,当天下班就买了个低配版,一核、1GB内存、40GB机械硬盘、1M带宽不限流量。话说原价是三年¥2952,现在只要¥800,感觉还行就买了。刚刚我又上去看了一眼,还是这个价,看来双十一优惠力度越来越不行了。各位童鞋如果有需求,传送门如下:

非学生党阿里云购VPS

如果你是学生党,恭喜你,优惠力度就大了,前提是需要学生认证。

学生党阿里云购VPS

进入正题

购买及创建虚拟机实例非技术问题我就不赘述了,假设你已经有一台Linux CentOS的虚拟机。

简单的环境配置

创建工作用户

如果你接触过Linux,你可能听说过Linux有一条原则叫

最小权限原则

这也是我要单独创建工作用户的根本原因,如果你所有操作都用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

设置用户公钥登录

使用密码登录总是会有密码泄露或弱密钥遭暴力破解的风险,因此使用公钥登录是一种比较安全的且方便的做法,可谓是百利无一害。

#找到#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

注意:以上生成密钥对是在自己的客户机,或者说自己的笔记本上进行,以后要用这台笔记本或台式机远程管理虚拟机。

#以下命令也会生成自己的公钥和私钥
[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服务器一定要重视权限的配置。始终以最小权限为原则,无用的服务端口一定要关闭,定期备份重要数据。