Linux 初始化配置
1128 字约 4 分钟
2026-05-20
修改 root 密码
如果服务器的默认账号是 root
root 账户默认没有密码 安全起见 先初始化一个
passwd腾讯云服务器
默认账户是 ubuntu,初始密码是自己设置的。忘记的话可以重置密码。
修改 root 密码
sudo passwd root切换用户
su ubuntu创建 Linux 管理员账户
🐧 使用 Linux 服务器的时候,尽量不要使用 root 账号,处理日常操作,我们新建一个管理员账号。
首先,添加一个用户组(这里我自定义的 admin)。
addgroup admin然后,添加一个新用户(假定为 www)。
useradd -d /home/www -s /bin/bash -m www上面命令中,参数 d 指定用户的主目录,参数 s 指定用户的 shell,参数 m 表示如果该目录不存在,则创建该目录。
接着,设置新用户的密码。
passwd www将新用户(www)添加到用户组(admin)。
usermod -a -G admin www接着,为新用户设定sudo权限。
sudo vi /etc/sudoers找到下面这一行。
root ALL=(ALL:ALL) ALL在这一行的下面,再添加一行。
root ALL=(ALL:ALL) ALL
www ALL=(ALL:ALL) ALL最后,先退出 root 用户登录,再用新用户的身份登录。
配置 SSH 服务
把自己电脑的 ssh 公钥,保存到服务器的 ~/.ssh/authorized_keys 文件中
直接使用下面的命令
// 默认端口 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 config
修改 ~/.ssh/config 文件
// 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配置文件/etc/ssh/sshd_config。
sudo cp /etc/ssh/sshd_config ~ (备份,复原时使用)
sudo vi /etc/ssh/sshd_config在配置文件中,将 SSH 的默认端口 22 改掉。假设使用 25000
Port 25000如果修改了端口,记的也修改:
- 本地的 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/重启 SSHD
sudo service ssh restart或者
sudo /etc/init.d/ssh restart如果重启失败,报错如下:
root@VM-24-5-ubuntu:/home/lighthouse# sudo service ssh restart
Jobfor ssh.service failed because the control process exited with error code.
See"systemctl status ssh.service" and"journalctl -xeu ssh.service"for details.
root@VM-24-5-ubuntu:/home/lighthouse# systemctl status ssh.service
× ssh.service - OpenBSD Secure Shell server
Loaded: loaded (/lib/systemd/system/ssh.service; enabled; vendor preset: enabled)
Active: failed (Result:exit-code) since Sun 2022-11-13 15:44:49 CST; 5s ago
Docs: man:sshd(8)
man:sshd_config(5)
Process: 9511 ExecStartPre=/usr/sbin/sshd -t (code=exited, status=255/EXCEPTION)
CPU: 6ms
Nov 13 15:44:49 VM-24-5-ubuntu systemd[1]: ssh.service: Scheduled restart job, restart counter is at 5.
Nov 13 15:44:49 VM-24-5-ubuntu systemd[1]: Stopped OpenBSD Secure Shell server.
Nov 13 15:44:49 VM-24-5-ubuntu systemd[1]: ssh.service: Start request repeated too quickly.
Nov 13 15:44:49 VM-24-5-ubuntu systemd[1]: ssh.service: Failed with result'exit-code'.
Nov 13 15:44:49 VM-24-5-ubuntu systemd[1]: Failed to start OpenBSD Secure Shell server.大概率是配置文件修改错了,可以使用以下命令检查配置错误。
/usr/sbin/sshd -T根据提示进行修改。
运行环境配置
检查服务器的区域设置。
locale如果结果不是 en_US.UTF-8,建议都设成它。
sudo locale-gen en_US en_US.UTF-8 en_CA.UTF-8
sudo dpkg-reconfigure locales然后,更新软件
sudo apt-get update
sudo apt-get upgrade最后,再根据需要,做一些安全设置,比如搭建防火墙,关闭 HTTP、HTTPs、SSH 以外的端口,详细可参考这篇 《Securing a Linux Server》。
设置时区
使用 tzselect 命令选择需要的时区。
tzselect设置完后,命令行会提示我们将时区的配置文件添加到 .profile
TZ='Asia/Hong_Kong'; export TZ执行完后,重新登录系统或者刷新 ~/.bashrc 文件使其生效
source ~/.bashrc更改 Linux 整个系统范围的时区可以使用如下命令:
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime现在使用 date 命令查看一下时间。