 
虽然不是专业的系统管理员,作为程序员还是会经常折腾一些VPS,势必要学会怎么配置一台服务器,而且,对于公司面试,掌握基本的系统管理知识还是有利的。况且,如今的网络安全环境下,掌握一些服务器安全方面的配置是非常有必要的。
1. 远程登录用户
在使用SSH远程登录时,由于root用户有着无限的权利,它能执行任何命令,所以尽量不要使用root用户登录。
Ubuntu
| 1 | adduser jack //创建非根用户 | 
CentOS
| 1 | adduser jack | 
2. SSH密钥对认证
上面创建完jack用户后,就可以执行下面的命令登录:
| 1 | ssh [email protected] | 
此时,会要求你输入jack的密码,但密码认证也有漏洞,而且会受到暴力破解,不怀好意的人会不断尝试猜测你的密码,而且,每次登录时都要求你输入密码,是不是很麻烦呢?这时我们就需要创建SSH密码对认证(所谓密钥对,就是一对“密钥”,其中一个是私钥,保存在自己的电脑中,另一个是公钥,保存在服务器中,公钥加密的消息只能使用对应的私钥解密)。
| 1 | ssh-keygen // 创建密钥对 | 
然后按照屏幕提示输入所需要的信息,这个命令会在电脑创建两个文件:~/.ssh/id_rsa.pub(公钥)和~/.ssh/id.rsa(私钥),私钥应该保存在本地电脑中,公钥上传到服务器。
| 1 | // 把公钥上传到服务器中jack用户的家目录,后面一定要有":" | 
登录服务器,创建.ssh目录:
| 1 | mkdir ~/.ssh | 
创建~/.ssh/authorized_keys文件,这个文件的内容是一系列允许登录这台服务器的公钥:
| 1 | touch ~/.ssh/authorized_keys | 
把上传的公钥添加到~/.ssh/authorized_keys文件中:
| 1 | cat ~/id_rsa.pub >> ~/.ssh/authorized_keys | 
最后修改下面几个目录和文件的访问权限,让jack用户访问~/.ssh目录和~/.ssh/ahthorized_keys文件:
| 1 | chown -R jack:jack ~/.ssh | 
禁用密码和根用户登录
为了让服务器再安全一些,我们要禁止用户通过密码登录,还要禁止根用户登录。
| 1 | vim /etc/ssh/sshd_config | 
上打开的配置文件中,这样修改:
| 1 | // /etc/ssh/sshd_config | 
顺便解决下ssh自动断开的问题:
| 1 | // /etc/ssh/sshd_config | 
改动之后,重启ssh服务:
| 1 | # ubuntu | 
运行完上面的命令,我们的服务器就安全很多了。
欢迎阅读本篇文章,如有兴趣可以关注博主公众号哦:
