闲来无事,想做个小项目玩玩,也可以趁此机会亲身体验开发的每一个环节。第一步就是搭建环境:一个应用服务器,用于部署后台代码。
环境概览
- 云服务:阿里云ECS,1核/2G/40G/1Mbps带宽
- 操作系统:CentOS7.8 64位
- MySQL 5.6
- Nginx 1.18
- Tomcat 8.5
服务器重装系统
在阿里云控制台可以直接为服务器更换操作系统,阿里云提供各种Linux发行版可以直接安装,并且在安装新系统之前可以指定密钥,这样在新系统安装好以后就可以直接在有私钥的机器上以root用户登录了。
CentOS 7 用户管理
- 直接用root用户登录不太安全,还是要在重装系统后新建用户用于日常运维。
- 以root登录后,新建一个用户:
1 | adduser litiezhu |
- 为新用户添加sudo权限:在/ect/sudoers中找到一行:
在最后仿照上一行的格式为新用户配置sudo权限
- 切换到新用户:
1 | su litiezhu |
此时仍然无法直接从远程以新用户litiezhu的身份登录,因为还没有在服务器上的该用户下配置公钥匙。切换到litiezhu用户后,在其主目录(/home/litiezhu)下新建目录“.ssh”,在该目录下新建文件authorized_keys并把公钥的内容复制到这个文件里:
这时再试一下从以litiezhu的身份登录到服务器,登录失败,提示Permission denied (publickey,gssapi-keyex,gssapi-with-mic):
- 应该是刚刚创建的.ssh目录的权限问题,再用root登录并改一下权限:
- 尝试登录,成功:
远程登录到服务器
远程登录到允许Linux系统的服务器上有两种认证方式:密码认证和密钥认证。密码认证不太安全(我也不知道为啥,但是人家都这么说,可能要本什么书来看看了),所以一般可以选择禁止一些用户以密码方式登录(比如root)。除此以外,登录到服务器有以下一些实践细节。
- 登录命令: ssh <用户名>@<服务器ip>
- 配置Host:为了不用记服务器的ip地址,可以在host文件中把为ip地址添加一个容易记的名字(如aliyun?),这样在登录的时候命令就可以简化为 ssh litiezhu@aliyun