学习:创建 Ubuntu Droplet

发布: (2026年2月3日 GMT+8 17:07)
3 分钟阅读
原文: Dev.to

Source: Dev.to

介绍

我的 Sushi 项目(即将上线) 的下一步是寻找云服务提供商。由于我在欧洲,而我的客户在巴西,我需要一个能够在跨地区保证 24/7 正常运行的解决方案。于是我们决定使用 DigitalOcean(DO)的 Ubuntu Droplet。

为了最大化效率,我需要将本地机器连接到远程服务器。第一步是将我的 SSH 密钥添加到虚拟机,以确保安全、无缝的连接。

在 Ubuntu 上创建 SSH 密钥

以下教程说明了如何在本地计算机上创建 SSH 密钥:

提示: 在生成密钥之前为每个项目创建一个专用目录。这可以将密钥隔离,便于在不影响其他环境的情况下删除或重新创建它们。

示例命令

# Create a directory for the project
mkdir -p ~/ssh-keys/sushi-project
cd ~/ssh-keys/sushi-project

# Generate a new SSH key pair
ssh-keygen -t ed25519 -C "your_email@example.com" -f id_ed25519

设置 DigitalOcean Droplet

在 DigitalOcean 上创建 Droplet 非常简单。Droplet 创建完成后,需要将你的公钥复制到服务器上。

排查 SSH 连接问题

在第一次尝试时,我遇到了以下错误:

Fail to copy due to error: port 22: Connection refused

原因是本地机器上没有运行 SSH 服务。以下步骤解决了该问题:

# Allow SSH through the firewall
sudo ufw allow 22

# Start and enable the SSH service
sudo systemctl start ssh
sudo systemctl enable ssh

验证服务是否在运行:

sudo netstat -anp | grep sshd

更多细节请参阅 Ask Ubuntu: “Why am I getting a port 22 connection refused error?”

将 SSH 密钥复制到 Droplet

使用 ssh-copy-id 将公钥传输到远程服务器:

ssh-copy-id -i /path/to/your/id_ed25519.pub user@remote-host
# or
ssh-copy-id -i /path/to/your/id_ed25519.pub user@remote-ip

连接到 Droplet

密钥复制完成后,使用以下命令连接:

ssh root@remote-ip -i /path/to/your/id_ed25519

额外:验证密钥安装

为了确认密钥已正确添加,检查 Droplet 上的 authorized_keys 文件:

cat ~/.ssh/authorized_keys

你应该能看到本地公钥的内容。

Back to Blog

相关文章

阅读更多 »

当 AI 给你一巴掌

当 AI 给你当头一棒:在 Adama 中调试 Claude 生成的代码。你是否曾让 AI “vibe‑code” 一个复杂功能,却花了数小时调试细微的 bug……