在开发或者部署网站的时候,需要自己配置Linux服务器,本文以Centos7为例,记录了配置Linux服务器的初步流程
第一步:root用户登录
使用root用户登录远程主机(假定IP地址为192.168.1.125)
|
|
这时,会出现警告,提示这是一个新的地址,存在安全风险。接收则输入yes

登录远程主机之后修改root密码
|
|
第二步:新建用户
添加一个用户组admin
|
|
然后,添加一个新的用户
|
|
上面命令中,参数d表示指定用户的主目录,参数s指定用户的shell,参数m表示如果该目录不存在,则创建该目录。
设置新用户的密码。
|
|
将sangjian添加到用户组admin中
|
|
为sangjian用户设定sudo权限
|
|
visudo命令会打开文件/etc/sudoers,找到如下一行
|
|
添加一行
|
|
上面的NOPASSWD表示,切换sudo的时候,不需要输入密码,我喜欢这样比较省事。如果出于安全考虑,也可以强制要求输入密码。
另开一个终端,以sangjian用户登录,检查是否设置成功
|
|
第三步:SSH设置
查看本机是否有SSH公钥(一般是~/.ssh/id_rsa.pub),如果没有则可以使用ssh-keygen命令生成
想省事的话可以一直按回车即可
将刚生成的id_rsa.pub文件的内容追加到服务器的authorized_keys文件中
可以使用scp命令将生成的id_rsa.pub文件上传到服务器中,再将文件的内容追加到authorized_keys文件中
上面的命令是将本地的公钥上传到服务器中的/home/sangjian目录下的mac_id_rsa.pub文件中
再执行追加命令(如果~/.ssh目录不存在,则新建)
修改SSH配置文件/etc/ssh/sshd_config
在配置文件中找到 #Port 22
,修改默认的端口,范围可以从1025到65536
修改如下设置并确保去除了#号
最后,在配置文件的末尾添加一行用来指定可以登录的用户
保存退出后,修改authorized_keys和.ssh的文件权限
确保.ssh的权限为700,authorized_keys的权限为600,否则登录的时候会出现如下错误

查看日志
可以看到登录时的日志有如下一句
|
|

重启SSHD
检查是否可以免密码登录
发现不可以,提示
第四步:登录失败问题解决
出现这一情况主要是防火墙端口开放的问题
查看日志
发现没有失败的日志输出
查看防火墙是否开启
如果开启了,则原因就是刚刚设置的ssh端口6983并没有添加到防火墙中
添加端口到防火墙
重启防火墙
查看端口是否添加成功
执行sudo firewall-cmd --list-all
,如果出现以下输出,则证明添加成功

第五步 登录服务器
SSH的配置已经完成了,下面测试以下是否可以登录
输入ssh sangjian@192.168.1.125 -p 6983
,提示

表示已经登录成功了,至此基于Centos7的服务器初步配置已经完成了。
本文主要介绍了SSH配置,剩下的可以根据需要配置一些安全相关的设置,比如防火墙的设置,端口的限制等等。