为 Ubuntu 虚拟机构建 SSH 服务器

以校园网环境和VMware为例,关键步骤如下:

  1. 安装 SSH 服务

    • 打开 Ubuntu 虚拟机。
    • 打开终端。
    • 输入命令 sudo apt-get update 更新软件包列表。
    • 输入命令 sudo apt-get install openssh-server 安装 SSH 服务。
  2. 配置 SSH 服务

    • 编辑配置文件:sudo nano /etc/ssh/sshd_config
    • 确认或修改配置,例如更改端口号(默认为22),禁用 root 用户登录等。
    • 保存并关闭文件。
    • 重启 SSH 服务以应用更改:sudo service ssh restart
  3. 设置防火墙规则(如果有):

    • 允许 SSH 端口(默认为22)通过防火墙:sudo ufw allow 22
    • 激活防火墙:sudo ufw enable
  4. 在校园网环境中配置网络

    • 确保虚拟机网络设置为桥接模式,这样它会在校园网络中获得一个独立的 IP 地址。
    • 确定虚拟机的 IP 地址:在虚拟机终端中输入 ip addrifconfig
  5. 从其他计算机连接到 SSH 服务器

    • 使用 SSH 客户端(如 PuTTY 或终端)连接到虚拟机。
    • 输入命令 ssh username@your_vm_ip_address,其中 username 是你的 Ubuntu 用户名,your_vm_ip_address 是虚拟机的 IP 地址。
    • 接受安全警告并输入密码完成连接。
    • 注意: 如果打算从校园网络之外的地方访问你的 SSH 服务器,可能需要配置端口转发或 VPN,这取决于校园网络的配置

以上为网络桥接模式 的配置,下面为NAT模式的配置:

在虚拟机中使用 NAT(网络地址转换)模式来设置 SSH 服务器是可能的,但它与桥接模式有一些不同的考虑因素。NAT 模式允许虚拟机通过主机机器共享其网络连接,但不会为虚拟机提供独立的 IP 地址。这意味着在使用 NAT 模式时,进行外部连接到虚拟机的 SSH 服务器稍微复杂一些。

  1. 在虚拟机中设置 SSH 服务器

    • 按照前面提到的步骤在 Ubuntu(或其他操作系统)虚拟机中安装和配置 SSH 服务器。
  2. 配置 NAT 网络设置

    • 在虚拟机设置中,确保网络适配器设置为 NAT 模式。
    • 在虚拟化软件(如 VirtualBox 或 VMware)中,找到网络设置。
    • 设置端口转发规则,以便将主机机器上的特定端口(如 2222)转发到虚拟机的 SSH 端口(通常为 22)。
复制代码
   例如,在 VMware 中,你可以这样设置端口转发:
    	选择"编辑"菜单中的"虚拟网络编辑器"。
    	在虚拟网络编辑器中,选择用于 NAT 的网络(通常是 VMnet8)。
    	点击"NAT 设置"或"网络适配器"旁的"编辑"按钮。
    	在弹出的对话框中,选择"端口转发"或"端口映射"选项。
    	点击"添加"或类似按钮以创建新的端口转发规则。
    	在相关字段中输入以下信息:
    	主机端口:选择一个未被主机上其他服务使用的端口号(例如 2222)。
    	虚拟机 IP 地址:输入虚拟机的 IP 地址。可以在虚拟机内部通过运行 ip addr 或 ifconfig 命令来找到这个地址。
    	虚拟机端口:输入虚拟机上 SSH 服务的端口号(默认为 22)。
  1. 从外部设备连接
    • 使用 SSH 客户端连接到你的 Windows 主机的 IP 地址,而不是直接连接到虚拟机。
    • 使用之前设置的端口号。例如,如果你将主机的 2222 端口映射到虚拟机的 22 端口,则使用命令 ssh -p 2222 username@your_windows_host_ip
    • 这里,username 是虚拟机的用户名,your_windows_host_ip 是 Windows 主机的 IP 地址。
相关推荐
元Y亨H1 天前
华硕主机重装 Ubuntu 系统完全指南
ubuntu
茶杯梦轩2 天前
从零起步学习RabbitMQ || 第二章:RabbitMQ 深入理解概念 Producer、Consumer、Exchange、Queue 与企业实战案例
服务器·后端·消息队列
字节逆旅3 天前
ubuntu应用深度守护
ubuntu
YuMiao4 天前
gstatic连接问题导致Google Gemini / Studio页面乱码或图标缺失问题
服务器·网络协议
Sinclair7 天前
简单几步,安卓手机秒变服务器,安装 CMS 程序
android·服务器
Rockbean8 天前
用40行代码搭建自己的无服务器OCR
服务器·python·deepseek
埃博拉酱8 天前
VS Code Remote SSH 连接 Windows 服务器卡在"下载 VS Code 服务器":prcdn DNS 解析失败的诊断与 BITS 断点续传
windows·ssh·visual studio code
茶杯梦轩8 天前
CompletableFuture 在 项目实战 中 创建异步任务 的核心优势及使用场景
服务器·后端·面试
海天鹰9 天前
【免费】PHP主机=域名+解析+主机
服务器
不是二师兄的八戒9 天前
Linux服务器挂载OSS存储的完整实践指南
linux·运维·服务器