为 Ubuntu 虚拟机构建 SSH 服务器
以校园网环境和VMware为例,关键步骤如下:
-
安装 SSH 服务:
- 打开 Ubuntu 虚拟机。
- 打开终端。
- 输入命令
sudo apt-get update
更新软件包列表。 - 输入命令
sudo apt-get install openssh-server
安装 SSH 服务。
-
配置 SSH 服务:
- 编辑配置文件:
sudo nano /etc/ssh/sshd_config
。 - 确认或修改配置,例如更改端口号(默认为22),禁用 root 用户登录等。
- 保存并关闭文件。
- 重启 SSH 服务以应用更改:
sudo service ssh restart
。
- 编辑配置文件:
-
设置防火墙规则(如果有):
- 允许 SSH 端口(默认为22)通过防火墙:
sudo ufw allow 22
。 - 激活防火墙:
sudo ufw enable
。
- 允许 SSH 端口(默认为22)通过防火墙:
-
在校园网环境中配置网络:
- 确保虚拟机网络设置为桥接模式,这样它会在校园网络中获得一个独立的 IP 地址。
- 确定虚拟机的 IP 地址:在虚拟机终端中输入
ip addr
或ifconfig
。
-
从其他计算机连接到 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 服务器稍微复杂一些。
-
在虚拟机中设置 SSH 服务器:
- 按照前面提到的步骤在 Ubuntu(或其他操作系统)虚拟机中安装和配置 SSH 服务器。
-
配置 NAT 网络设置:
- 在虚拟机设置中,确保网络适配器设置为 NAT 模式。
- 在虚拟化软件(如 VirtualBox 或 VMware)中,找到网络设置。
- 设置端口转发规则,以便将主机机器上的特定端口(如 2222)转发到虚拟机的 SSH 端口(通常为 22)。
-
例如,在 VMware 中,你可以这样设置端口转发: 选择“编辑”菜单中的“虚拟网络编辑器”。 在虚拟网络编辑器中,选择用于 NAT 的网络(通常是 VMnet8)。 点击“NAT 设置”或“网络适配器”旁的“编辑”按钮。 在弹出的对话框中,选择“端口转发”或“端口映射”选项。 点击“添加”或类似按钮以创建新的端口转发规则。 在相关字段中输入以下信息: 主机端口:选择一个未被主机上其他服务使用的端口号(例如 2222)。 虚拟机 IP 地址:输入虚拟机的 IP 地址。可以在虚拟机内部通过运行 ip addr 或 ifconfig 命令来找到这个地址。 虚拟机端口:输入虚拟机上 SSH 服务的端口号(默认为 22)。
- 从外部设备连接:
- 使用 SSH 客户端连接到你的 Windows 主机的 IP 地址,而不是直接连接到虚拟机。
- 使用之前设置的端口号。例如,如果你将主机的 2222 端口映射到虚拟机的 22 端口,则使用命令
ssh -p 2222 username@your_windows_host_ip
。 - 这里,
username
是虚拟机的用户名,your_windows_host_ip
是 Windows 主机的 IP 地址。