服务器:修订间差异

无编辑摘要
无编辑摘要
 
(未显示同一用户的1个中间版本)
第28行: 第28行:


====用户和登录配置====
====用户和登录配置====
创建一个用户,并加入sudo组。
<syntaxhighlight lang="bash" >
# 添加一个新用户(假设用户名是 adminuser,你可以换成自己喜欢的名称)
# 按提示设置密码,并填写用户信息(可以留空)。
sudo adduser adminuser
# 将新用户添加到 sudo 组
sudo usermod -aG sudo adminuser
</syntaxhighlight>
本地电脑生成[[SSH]]的生成公钥和私钥
<syntaxhighlight lang="bash">
ssh-keygen
# Enter file in which to save the key
# 私钥保存位置,直接回车默认位置和名称,也可以保存其他文件:
C:\Users\用户名/.ssh/computer_1
# Enter passphrase (empty for no passphrase):
# 询问是否设置钥保护密码,可以输入密码或回车不设置密码,如果设置登录时需要提供私钥和私钥保护密码。
</syntaxhighlight>
服务器导入公钥
<syntaxhighlight lang="python" >
# Linux 服务器在当前用户目录下创建.ssh目录
mkdir .ssh
# Linux 导入示例,本地电脑操作,将本地生成的公钥id_rsa.pub复制到服务器authorized_keys
scp C:\Users\username/.ssh/id_rsa.pub user2@46.100.162.172:/home/user2/.ssh/authorized_keys
</syntaxhighlight>
禁用 root 账户的 SSH 远程登录,并使用其他具有 sudo 权限的用户。
禁用 root 账户的 SSH 远程登录,并使用其他具有 sudo 权限的用户。
<syntaxhighlight lang="bash" >
<syntaxhighlight lang="bash" >
第37行: 第68行:


# 默认的 SSH 端口是 22,修改为其他端口可以减少被暴力破解的风险。
# 默认的 SSH 端口是 22,修改为其他端口可以减少被暴力破解的风险。
# 如修改为 2222
# 如修改为 2222,注意云厂商后台也要开放改端口的TCP协议。
Port 2222
Port 2222
# 禁用基于密码的认证方式
PasswordAuthentication no
# 允许公钥的认证方式
PubkeyAuthentication yes


# 修改完成后保存,按ESC键输入:wq 保存。
# 修改完成后保存,按ESC键输入:wq 保存。
# 重启 SSH 服务
# 重启 SSH 服务,有些为:sudo systemctl restart ssh
sudo systemctl restart sshd
sudo systemctl restart sshd
</syntaxhighlight>
</syntaxhighlight>




==资源==
==资源==

2025年2月20日 (四) 16:54的最新版本

服务器(Server)是一种计算机,为计算机网络中其他设备(称为客户端)提供服务。

服务器类型

操作系统

安全设置

系统上设置

Ubuntu系统为例。

更新系统和软件

确保系统和所有软件都是最新的。安全更新修复了许多已知的漏洞。

# 只更新已安装软件的补丁而不涉及系统级的变化。
sudo apt update && sudo apt upgrade

# 更新更激进,它可能会升级系统中的核心组件,或者删除一些不再需要的包。
# 生产环境中,可能会不小心删除一些重要的包,导致系统不稳定。
sudo apt dist-upgrade

安装和配置防火墙 (UFW)

UFW (Uncomplicated Firewall) 是 Ubuntu 中的防火墙工具。你可以使用它来限制进入和退出的网络流量。云厂商上也需要开放或关闭对应端口。

sudo apt install ufw
sudo ufw allow ssh
sudo ufw enable

用户和登录配置

创建一个用户,并加入sudo组。

# 添加一个新用户(假设用户名是 adminuser,你可以换成自己喜欢的名称)
# 按提示设置密码,并填写用户信息(可以留空)。
sudo adduser adminuser

# 将新用户添加到 sudo 组
sudo usermod -aG sudo adminuser

本地电脑生成SSH的生成公钥和私钥

ssh-keygen

# Enter file in which to save the key
# 私钥保存位置,直接回车默认位置和名称,也可以保存其他文件:
C:\Users\用户名/.ssh/computer_1

# Enter passphrase (empty for no passphrase):
# 询问是否设置钥保护密码,可以输入密码或回车不设置密码,如果设置登录时需要提供私钥和私钥保护密码。

服务器导入公钥

# Linux 服务器在当前用户目录下创建.ssh目录
mkdir .ssh

# Linux 导入示例,本地电脑操作,将本地生成的公钥id_rsa.pub复制到服务器authorized_keys
scp C:\Users\username/.ssh/id_rsa.pub user2@46.100.162.172:/home/user2/.ssh/authorized_keys

禁用 root 账户的 SSH 远程登录,并使用其他具有 sudo 权限的用户。

# 使用vim或nano编辑文件
sudo vim /etc/ssh/sshd_config

# 禁用root的SSH登录,防止黑客直接猜测 root 密码。
PermitRootLogin no

# 默认的 SSH 端口是 22,修改为其他端口可以减少被暴力破解的风险。
# 如修改为 2222,注意云厂商后台也要开放改端口的TCP协议。
Port 2222

# 禁用基于密码的认证方式
PasswordAuthentication no
# 允许公钥的认证方式
PubkeyAuthentication yes


# 修改完成后保存,按ESC键输入:wq 保存。
# 重启 SSH 服务,有些为:sudo systemctl restart ssh
sudo systemctl restart sshd


资源