服务器初始化

参考链接 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

在这一行的下面,再添加一行。

1
2
root    ALL=(ALL:ALL) ALL  
ray    ALL=(ALL:ALL) ALL

验证

1
2
su - ray
sudo whoami

如果一切设置正确,命令将输出 root,这表示 ray 用户已经拥有 sudo 权限。

配置 SSH 连接

把自己电脑的 ssh 公钥,保存到服务器的 ~/.ssh/authorized_keys 文件中 这里使用 ssh-copy-id (之前傻傻的都是手动 copy 的

-i 是指定公钥

1
2
3
4
// 默认端口 22  
ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]
// 带端口 25000  
ssh-copy-id -i ~/.ssh/id_rsa.pub -p 25000 [email protected]

快捷ssh连接

这里还有个很有用的配置

本地电脑配置 ssh config

修改 ~/.ssh/config 文件

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
// Host 字段后面的名称自定义  
Host day-root  
  hostname 123.456.78  
  port 25000  
  user root  
  
Host day  
  hostname 123.456.78  
  port 25000  
  user www

之后 ssh day 无须输入密码,就可以登入服务器了。

ssh端口更改

编辑SSH配置文件/etc/ssh/sshd_config。

1
2
sudo cp /etc/ssh/sshd_config ~     (备份,复原时使用)  
sudo vim /etc/ssh/sshd_config

在配置文件中,将 SSH 的默认端口 22 改掉。假设使用 22980

Port 22980

如果修改了端口,记的也修改:

  • 本地的 ssh 配置 ~/.ssh/config 内的端口
  • 云服务器的防火墙 ssh 的端口设置

然后,检查几个设置是否设成下面这样,确保去除前面的#号。

选项含义
Protocol 2ssh 协议使用新版的
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 restartsudo /etc/init.d/ssh restart

如果配置文件报错可以用/usr/sbin/sshd -T检查错误并更改

这样子配置一下 安全组就可以测试连接了

运行环境配置

这里不记录了 主要是换时区什么的

配置防火墙

配置哪吒

说实话是有点不放心监控软件,但是现在作为小白。这种酷炫装逼的东西还是想要的 这里看文档装好了 没什么难度,之后配置复杂的时候再记录吧

配置通知服务

这个比如 钉钉 微信啥的推送。ssh 登录时或者之类的。哪吒貌似也可以。 自己参考大佬做了脚本