当前位置: 首页 > news >正文

为 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 地址。

相关文章:

  • 2023年11月在线IDE流行度最新排名
  • 基于springboot的在线文档管理系统
  • 基于springboot实现桥牌计分管理系统项目【项目源码】计算机毕业设计
  • Android Studio里的C/C++返回: ld: error: undefined symbol
  • 【Go入门】面向对象
  • Vatee万腾科技决策力的未来展望:开创数字化创新的新高度
  • 音视频基础知识
  • Linux之基础开发工具gdb调试器的使用(三)
  • 数据存储_PGSQL
  • 【毕业论文】基于python爬虫对豆瓣影评分析系统的设计与实现
  • 【第七章】软件设计师 之 程序设计语言与语言程序处理程序基础
  • 写给新用户-Mac软件指南篇:让你的Mac更好用
  • 【Python】python读取,显示,保存图像的几种方法
  • 离线环境通过脚本实现服务器时钟同步(假同步)
  • mysql8安装和驱动jar包下载
  • 很多个pdf怎么合并在一起?
  • 力扣labuladong——一刷day28
  • Scala爬虫如何实时采集天气数据?
  • 暴力递归转动态规划(十五)
  • Linux常用命令:find、grep、vim、cat、less、more
  • 专利申请全球领先!去年我国卫星导航与位置服务产值超5700亿元
  • 2人恶意传播刘国梁谣言被处罚,媒体:以法律利剑劈谣斩邪,加快推进依法治体
  • 澎湃与七猫联合启动百万奖金征文,赋能非虚构与现实题材创作
  • 长期吃太饱,身体会发生什么变化?
  • 外交部:国际社会广泛理解和支持中方不同意台参加世卫大会的决定
  • 百色一女子称家委会强制排班被迫抱婴儿校门口站岗?区教育局:自愿参与