服务器初始化
参考链接 https://www.ruanyifeng.com/blog/2014/03/server_setup.html https://hufangyun.com/2017/linux-init/ 第一篇阮一峰老师的,第二篇胡方运老师的, 主要内容可能与第二篇相似,希望以后我能进行完善,不要太过于臃肿也好。 针对于自己的个人习惯。也记录一个流程,以后配置服务器标准一点
刚购买完服务器要做的操作
这里就忽视安全组的问题了。因为之前买过几年。安全组的配置基本一致,我也不记得初始化啥样子了,如果进不去自己检查网络连接,或者网页进去也行
这里买的是阿里云的 99 一年,2c2g ubuntu24,3M 固定带宽。控制台启动后先重置root密码
然后远程登录
ssh [email protected]
进来看着原先的一串主机名眼睛花,改一手主机名
hostnamectl set-hostname <new-hostname>
然后重新登录就行了。
如果只是要改命令行提示符一串可以研究
~/.bashrc和各种插件,关于美化命令行那也是水很深,我就喜欢傻黑粗的玩意儿
新账号
操作 Linux 系统任何时候尽量不使用 root 账户,毕竟权限太大对小白不是好事,有自知之明且要学一下好习惯,创建一个管理员账户
[[Linux-用户管理#新建用户]]
这里基本和文章开头贴的博客一致。我也创建admin 用户组
addgroup admin
添加新用户(ray)
useradd -d /home/ray -s /bin/bash -m ray
上面命令中,参数 d 指定用户的主目录,参数 s 指定用户的 shell,参数 m 表示如果该目录不存在,则创建该目录。
接着,设置新用户的密码。
`passwd ray
将新用户(ray)添加到用户组(admin)。
usermod -a -G admin ray
接着,为新用户设定sudo权限。
接着,为新用户设定sudo权限。
sudo vim /etc/sudoers
找到下面这一行。
root ALL=(ALL:ALL) ALL
在这一行的下面,再添加一行。
| |
验证
| |
如果一切设置正确,命令将输出 root,这表示 ray 用户已经拥有 sudo 权限。
配置 SSH 连接
把自己电脑的 ssh 公钥,保存到服务器的 ~/.ssh/authorized_keys 文件中
这里使用 ssh-copy-id (之前傻傻的都是手动 copy 的
-i 是指定公钥
| |
快捷ssh连接
这里还有个很有用的配置
本地电脑配置 ssh config
修改 ~/.ssh/config 文件
| |
之后 ssh day 无须输入密码,就可以登入服务器了。
ssh端口更改
编辑SSH配置文件/etc/ssh/sshd_config。
| |
在配置文件中,将 SSH 的默认端口 22 改掉。假设使用 22980
Port 22980
如果修改了端口,记的也修改:
- 本地的 ssh 配置 ~/.ssh/config 内的端口
- 云服务器的防火墙 ssh 的端口设置
然后,检查几个设置是否设成下面这样,确保去除前面的#号。
| 选项 | 含义 |
|---|---|
| ssh 协议使用新版的 | |
| PermitRootLogin no | 不允许 root 登录 |
| PermitEmptyPasswords no | 不允许空密码登录 |
| PasswordAuthentication no | 使用密码授权登录 |
| GSSAPIAuthentication no | 加快连接 |
| PubkeyAuthentication yes | 允许公钥认证 |
| UseDNS no | 禁用DNS反向解析 会加快速度 |
| SyslogFacility AUTHPRIV | 记录用户登录信息 |
上面主要是禁止 root 用户登录,以及禁止用密码方式登录。
保存后,退出文件编辑。
接着,改变authorized_keys文件的权限。
sudo chmod 600 ~/.ssh/authorized_keys && chmod 700 ~/.ssh/
接着重启 ssh 服务
systemctl daemon-reload
sudo service ssh restart 或 sudo /etc/init.d/ssh restart
如果配置文件报错可以用/usr/sbin/sshd -T检查错误并更改
这样子配置一下 安全组就可以测试连接了
运行环境配置
这里不记录了 主要是换时区什么的
配置防火墙
配置哪吒
说实话是有点不放心监控软件,但是现在作为小白。这种酷炫装逼的东西还是想要的 这里看文档装好了 没什么难度,之后配置复杂的时候再记录吧
配置通知服务
这个比如 钉钉 微信啥的推送。ssh 登录时或者之类的。哪吒貌似也可以。 自己参考大佬做了脚本