豌豆Ai站群搜索引擎系统 V.25.10.25 网址:www.wd.chat

🗣 Wd提问: ssh云服务器配置

🤖 Ai回答:
配置 SSH 访问是使用云服务器的第一步,也是至关重要的一步。下面我将为您提供一个从零开始、详细且安全的 SSH 云服务器配置指南。

核心思想:禁用密码登录,使用密钥对登录

这是最关键的安全措施,可以极大程度地防止暴力破解。

第一部分:准备工作(在本地电脑上)

1、生成 SSH 密钥对

在您的本地电脑(无论是 Windows, macOS 还是 Linux)上生成一对密钥:一个私钥(保密,存放在本地)和一个公钥(公开,放到服务器上)。

macOS / Linux (打开终端 Terminal)
Windows (使用 WSL, Git Bash 或 PowerShell)

执行以下命令:
bash
ssh-keygen -t ed25519 -C your_email@65.hk

`-t ed25519`: 指定使用更安全、更快的 Ed25519 算法。如果您的系统过旧不支持,可以使用 `-t rsa -b 4096`。
`-C your_email@...`: 添加一个注释,通常用邮箱,方便标识。

接下来会提示您:
1、 保存密钥的文件路径: 直接按回车使用默认路径(如 `~/.ssh/id_ed25519`)。
2、 设置密码短语: 强烈建议设置一个。这样即使有人拿到你的私钥文件,没有密码也无法使用。如果不想设置,直接按两次回车。

生成成功后,你会在 `~/.ssh/` 目录下看到两个文件:
`id_ed25519`: 私钥,绝不能泄露。
`id_ed25519.pub`: 公钥,需要上传到服务器。

第二部分:配置云服务器

2、上传公钥到云服务器

云服务商通常会在你创建服务器时提供上传公钥的选项。这是最推荐的方式。

腾讯云/阿里云/AWS/Google Cloud 等:
在创建云服务器(CVM/ECS/EC2)的步骤中,会有一个“SSH密钥对”或“Key Pair”的配置项。
1、 选择“使用现有公钥”或“导入公钥”。
2、 将你本地 `id_ed25519.pub` 文件的内容全部复制到输入框中。
3、 完成服务器创建。

*(如果创建时未上传,你也可以通过云控制台的“VNC登录”临时登录,然后手动添加到 `~/.ssh/authorized_keys` 文件中,方法见后文“故障排查”部分。)*

3、首次登录服务器

使用你创建服务器时指定的 SSH 密钥对应的私钥 进行登录。

命令格式为:
bash
ssh -i /path/to/your/private/key username@server_ip

例如:
登录 root 用户:
bash
ssh -i ~/.ssh/id_ed25519 root@123.123.123.123

登录普通用户(如 ubuntu, ec2-user):
AWS EC2 (Amazon Linux): `ssh -i ~/.ssh/id_ed25519 ec2-user@server_ip`
Ubuntu 系统: `ssh -i ~/.ssh/id_ed25519 ubuntu@server_ip`
CentOS 系统: `ssh -i ~/.ssh/id_ed25519 root@server_ip` 或 `centos@server_ip`

首次连接时,会看到 `The authenticity of host ..、can't be established.` 的警告,输入 `yes` 继续即可。

第三部分:服务器端安全加固(登录后操作)

现在你已经通过密钥登录到服务器了。接下来进行关键的安全配置。

4、修改 SSH 配置文件

使用 `vim` 或 `nano` 编辑器打开 SSH 配置文件:
bash
sudo vim /etc/ssh/sshd_config

找到并修改以下行,或者如果被注释了(以 `` 开头),取消注释并修改:

bash
禁用密码登录,强制使用密钥
PasswordAuthentication no
ChallengeResponseAuthentication no

禁止 root 用户直接登录(建议,增加一层安全)
PermitRootLogin no

限制 SSH 监听端口(可选但推荐,避免常规扫描)
Port 29292 可以改为 1024-65535 之间的任意端口

允许登录的用户(可选但非常推荐)
AllowUsers your_username 例如 AllowUsers ubuntu, admin

使用 SSH 协议版本 2(默认已是2,但确认一下)
Protocol 2

配置密钥文件路径(通常默认即可)
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys

重要说明:
`Port`: 修改后,你下次登录需要用 `-p` 指定端口,如 `ssh -p 29292 ...`。
`PermitRootLogin no`: 设置此项后,你将无法直接用 `root` 登录。必须先用一个普通用户登录,然后用 `sudo` 提权。
`AllowUsers`: 指定允许通过 SSH 登录的用户名,多个用户用空格隔开。

5、创建普通用户(如果禁用了 root 登录)

如果你决定禁用 root 登录,需要先创建一个有 `sudo` 权限的普通用户。

bash
添加新用户,例如用户名为 ‘admin'
sudo adduser admin

为该用户设置密码(用于sudo,不是SSH登录)
sudo passwd admin

将用户添加到 sudo 组
sudo usermod -aG sudo admin

现在,你需要将你的公钥也放入这个新用户的 `~/.ssh/authorized_keys` 文件中,这样你才能用这个用户登录。

在本地,将公钥内容复制,然后在服务器上执行:
bash
切换到新用户
sudo su admin

创建 .ssh 目录并设置正确权限
mkdir -p ~/.ssh
chmod 700 ~/.ssh

将你的公钥内容写入 authorized_keys 文件
echo 你的公钥内容(id_ed25519.pub里的所有文字) ~/.ssh/authorized_keys

设置 authorized_keys 文件权限
chmod 600 ~/.ssh/authorized_keys

退出回原来的会话
exit

6、重启 SSH 服务使配置生效

在修改完 `sshd_config` 后,必须重启服务。

Ubuntu / Debian:
bash
sudo systemctl restart ssh
或者 sudo service ssh restart

CentOS / RHEL / Amazon Linux:
bash
sudo systemctl restart sshd


重启前,请务必打开一个新的终端窗口,测试新配置是否有效! 防止配置错误导致自己被锁在服务器外面。

第四部分:本地便捷化配置

每次输入 `ssh -i /path/to/key -p port user@host` 很麻烦,可以通过本地 SSH 配置文件简化。

在本地电脑的 `~/.ssh/` 目录下,创建或编辑 `config` 文件。

bash
vim ~/.ssh/config

添加以下内容:
bash
Host myserver 一个易于记忆的别名
HostName 123.123.123.123 你的服务器公网IP
Port 29292 你修改后的SSH端口
User admin 登录的用户名
IdentityFile ~/.ssh/id_ed25519 私钥文件的绝对路径

保存后,你就可以直接用一个简单的命令登录服务器了:
bash
ssh myserver

第五部分:防火墙配置(UFW)

使用 UFW 防火墙来只放行必要的端口。

bash
安装 UFW (如果未安装)
sudo apt update && sudo apt install ufw Ubuntu/Debian
sudo yum install ufw CentOS (可能需要EPEL仓库)

重置UFW规则(如果之前有配置)
sudo ufw force reset

设置默认策略:拒绝所有进入,允许所有出去
sudo ufw default deny incoming
sudo ufw default allow outgoing

允许新的SSH端口
sudo ufw allow 29292/tcp

允许HTTP和HTTPS(如果你要运行网站)
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp

启用UFW
sudo ufw enable

查看状态
sudo ufw status verbose

注意:在启用 UFW 前,务必确保你已经放行了新的 SSH 端口,否则你会被断开连接!

故障排查与总结

如果连接被拒绝:
1、 检查端口号: 确认 `ssh -p` 参数或 `config` 文件中的端口号是否正确。
2、 检查防火墙: 确认云服务商的安全组和服务器本身的防火墙(如 UFW)都已放行该端口。
3、 检查服务状态: 在服务器上执行 `sudo systemctl status sshd` 查看 SSH 服务是否在运行。

如果提示 “Permission denied (publickey)”:
1、 检查私钥路径: `-i` 参数或 `config` 文件中的路径是否正确。
2、 检查服务器上的公钥: 确认 `~/.ssh/authorized_keys` 文件内容正确,且权限是 `600`,`.ssh` 目录权限是 `700`。
3、 检查用户名: 确认登录的用户名正确。

安全配置清单总结
[ ] 使用密钥对,禁用密码登录。
[ ] 修改默认 SSH 端口。
[ ] 禁用 root 用户直接登录。
[ ] 使用强密码短语保护私钥。
[ ] 配置防火墙(UFW),只开放必要端口。
[ ] 使用 `AllowUsers` 限制可登录用户。
[ ] 保持系统和软件更新。

遵循以上步骤,你的云服务器 SSH 访问将变得既便捷又安全。

Ai作答

📣 商家广告


求名

广告招商

香港vps

广告招商

公司


0

IP地址: 75.73.145.249

搜索次数: 0

提问时间: 2025-11-02 17:20:26

🛒 域名购买
qz.gs
cgbc.cn
31.gs
lv.gs
8333.top
q-u.com.cn
ww.cq.cn
wangai.net
eg.cx
v-z.net

❓️ 热门提问
机房巡检常见问题
idc机房工程师招聘
ip地址街道级别定位
韩国VPS搭建网站步骤
防静电地板 机房
linux构建服务器
海外vps优惠码
如何测试vps性能
香港运输专线
vps one
豌豆Ai站群搜索引擎系统

🌐 域名评估
drone.hb.cn
si.xz.cn
rdnk.cn
e.ah.cn
tt.nm.cn
yu7.he.cn
vtol.xz.cn
le.nm.cn
qcpr.cn
vivo.xz.cn

⛏ 最新挖掘
凯里酸汤鱼
贵阳烤脑花
都匀毛尖茶
花溪牛肉粉
贵阳烤生蚝
贵阳烤豆腐
贵阳纸包鱼
贵阳特色菜

🖌 热门作画

🤝 关于我们:
豌豆Ai 域名 建站 站群 留痕 推广 评估 源码
开发Ai 工具 日记 价格 加盟 广告 流量 留言 联系

🗨 加入群聊
群

🔗 友情链接
域名抢注平台  한국 기업  ai提问

🧰 站长工具
Ai工具  whois查询  搜索

📢 温馨提示:本站所有问答由Ai自动创作,内容仅供参考,若有误差请用“联系”里面信息通知我们人工修改或删除。

👉 技术支持:本站由豌豆Ai提供技术支持,使用的最新版:《豌豆Ai站群搜索引擎系统 V.25.10.25》搭建本站。

上一篇 47826 47827 47828 下一篇