虚拟机安装MongoDB

# Ubuntu 远程连接(SSH + MobaXterm)与 MongoDB 安装配置保姆级教程

> 本文记录了我从零开始,在 Ubuntu 上开启 SSH 远程连接、用 Windows 端的
> MobaXterm 登录、并安装验证 MongoDB 的完整过程,附带新手常见坑的解决办法。

## 〇、环境说明

| 项目 | 内容 |
| --- | --- |
| 操作系统 | Ubuntu 24.04(虚拟机) |
| 用户名 | |
| IP 地址 | |
| Windows 端工具 | MobaXterm(免费版) |
| 数据库 | MongoDB 8.0 |

> 注意:请把你自己的 IP、用户名、密码代入下文命令,不要照抄我的。

---

## 一、在 Ubuntu 上安装 SSH 服务

目的:让 Windows 可以远程连接 Ubuntu,告别难用的虚拟机控制台。

```bash
sudo apt update
sudo apt install openssh-server -y
```

查看服务状态:

```bash
sudo systemctl status ssh
```

看到绿色的 `active (running)` 就说明服务已正常运行(按 `q` 退出状态界面)。

【插图:systemctl status ssh 显示 active (running) 的终端截图】

再设置开机自启,避免重启后又连不上:

```bash
sudo systemctl enable ssh
```

顺便查一下自己的 IP,记下来待会儿要用:

```bash
hostname -I
```

## 二、用 MobaXterm 连接 Ubuntu

1. 打开 MobaXterm,点击左上角 **Session** → 选择 **SSH**;
2. 填写连接信息:
- **Remote host**:``
- **Username**:``
- **Port**:``
3. 点击 **OK**;
4. 黑窗口出现 `password:` 提示时,输入 Ubuntu 的登录密码,回车。

【插图:MobaXterm 的 SSH 设置界面截图】

⚠️ **新手必看**:Linux 下输入密码时屏幕上不会显示任何字符(没有星号),不是键盘坏了,盲打完后按回车即可。

### 关于 "Master Password" 弹窗

首次连接后,MobaXterm 可能弹出 "MobaXterm Master Password" 窗口。这是软件想加密保存你的服务器密码,方便下次自动登录:

- 想保存密码:两栏输入同一个主密码,点 OK;
- 不想保存:直接点 Cancel,完全不影响连接和使用。

【插图:Master Password 弹窗截图】

### 两个实用小技巧

- **复制粘贴**:终端里用鼠标左键划选文字即自动复制;右键(或 Shift+Insert)粘贴 Windows 剪贴板内容。
- **传文件**:连接成功后,窗口左侧会出现 SFTP 文件栏。把 Windows 文件拖进去就是上传,拖出来就是下载,无需额外配置。

## 三、安装 MongoDB(已安装的同学可跳到第四节)

```bash
# 1. 安装依赖
sudo apt install gnupg curl -y

# 2. 导入 MongoDB 官方 GPG 密钥
curl -fsSL https://www.mongodb.org/static/pgp/server-8.0.asc | \
sudo gpg -o /usr/share/keyrings/mongodb-server-8.0.gpg --dearmor

# 3. 添加官方 apt 源(Ubuntu 24.04 noble)
echo "deb [ arch=amd64,arm64 signed-by=/usr/share/keyrings/mongodb-server-8.0.gpg ] \
https://repo.mongodb.org/apt/ubuntu noble/mongodb-org/8.0 multiverse" | \
sudo tee /etc/apt/sources.list.d/mongodb-org-8.0.list

# 4. 安装
sudo apt update
sudo apt install -y mongodb-org

# 5. 启动并设置开机自启
sudo systemctl enable --now mongod

# 6. 查看状态
sudo systemctl status mongod
```

看到 `active (running)` 即安装成功。

## 四、进入 MongoDB 并查看数据库

在终端输入:

```bash
mongosh
```

然后执行:

```javascript
show dbs
```

### 报错:Unauthorized 怎么办?

如果看到:

```
MongoServerError[Unauthorized]: Command listDatabases requires authentication
```

别慌!这说明你的 MongoDB 开启了安全认证,必须先登录账号密码才能操作,属于安全配置良好的表现。

**方法一:在 shell 内认证**

```javascript
use admin
db.auth("你的用户名", "你的密码") // 注意保留英文引号
show dbs
```

认证成功后 `show dbs` 就能正常列出所有数据库。

**方法二:带账号密码直接连接**

```bash
mongosh -u 你的用户名 -p 你的密码 --authenticationDatabase admin
```

**补充**:如果开启了认证但还没创建过用户,可在本机利用 localhost 例外创建管理员:

```javascript
use admin
db.createUser({
user: "admin",
pwd: passwordPrompt(), // 会提示你输入密码,比明文更安全
roles: [ { role: "root", db: "admin" } ]
})
```

### 查看结果说明

如果 `show dbs` 只列出 `admin / config / local` 三个库,说明安装成功、但你还没创建自己的业务库——这是正常的,MongoDB 的库是"按需创建"的,见下一节。

## 五、MongoDB 常用命令速查

```javascript
show dbs // 查看所有数据库
use mydb // 切换(隐式创建)数据库
db.createCollection("users") // 创建集合,此时数据库才真正建立
show collections // 查看当前库的集合
db.users.insertOne({name: "test"}) // 插入一条数据
db.users.find() // 查询数据
exit // 退出 mongosh
```

## 六、常见问题 FAQ

**Q1:MobaXterm 连接超时 / 被拒绝?**
依次检查:① IP 是否正确;② SSH 是否在运行(`sudo systemctl status ssh`);③ 防火墙是否放行 22 端口(`sudo ufw allow 22` 后 `sudo ufw status` 查看)。

**Q2:输入密码时屏幕没反应?**
Linux 的安全设计,密码不回显,盲打后回车即可。

**Q3:重启 Ubuntu 后连不上了?**
多半是没设开机自启,执行 `sudo systemctl enable ssh` 和 `sudo systemctl enable mongod`。

**Q4:MobaXterm 的 Master Password 是什么?**
只是用来加密本地保存的服务器密码,可设可取消,不影响连接。

---

以上就是完整流程,照着做基本不会踩坑。希望对你有所帮助!

 

posted @ 2026-08-25 15:25  一克嗽  阅读(5)  评论(0)    收藏  举报