如何通过 SSH 访问 VirtualBox 的虚机

VirtualBox 是一款免费虚机软件。在用户使用它安装了 linux 以后,它默认只提供了控制台的管理画面。

直接使用控制台管理 Linux 没有使用诸如 putty 或者 vscode 这样的 ssh 远程管理工具方便。那么可不可以直接使用 ssh 访问 VirtualBox 上的 Linux 呢?

我们可以先检查我们的 VirtualBox。下面的举例使用的是 Debian 11 的虚机,您可以根据您的 Linux 版本做命令的调整。

检查 ip 地址

输入以下命令

ip address

你可能会看到类似于下面的输出结果:
在这里插入图片描述
这里的第一个地址 127.0.0.1 是一个不能被外部访问的。第2个地址 10.0.2.15 是 VirtualBox 默认网卡给出的网址。如果我们使用 ssh 去访问这个地址是连接不上的。

这是因为 VirtualBox 默认给我们的网卡设置的是 NAT 方式。
在这里插入图片描述
我们可以通过检查虚机的配置 (settings) 看到这点。

解决方案

我们把上面的配置改为 bridge adapter 其他不变。如下图所示:

<think>我们正在讨论如何通过SSH访问中的Kali Linux系统。根据用户的问题,我们需要提供详细的步骤。 首先,我们需要确保Kali Linux已经安装了SSH服务器,并且SSH服务正在运行。然后,我们需要配置的网络设置以便主能够访问它。 常见的网络配置方式有桥接模式、NAT模式和仅主模式。这里我们通常使用桥接模式或NAT端口转发。 步骤概述: 1. 在Kali Linux中安装SSH服务器(如果尚未安装)。 2. 启动SSH服务并设置为开自启。 3. 配置的网络,确保主在同一网络或设置端口转发(NAT模式下)。 4. 在主上使用SSH客户端连接。 详细步骤: 1. 安装SSH服务器: 在Kali Linux中,默认可能没有安装SSH服务器。我们可以通过以下命令安装: ```bash sudo apt update sudo apt install openssh-server ``` 2. 启动SSH服务并设置开自启: ```bash sudo systemctl enable ssh # 设置开自启 sudo systemctl start ssh # 立即启动SSH服务 ``` 检查SSH服务状态: ```bash sudo systemctl status ssh ``` 3. 配置网络: 根据的网络设置,有两种常见情况: a) 桥接模式:将获得与主同一局域网的IP地址,主可以直接通过该IP地址连接。 b) NAT模式:默认情况下,主无法直接访问。我们需要设置端口转发(在VirtualBox中): - 关闭。 - 在VirtualBox管理器中选择,进入设置->网络->高级->端口转发。 - 添加一条规则:名称(如SSH),协议(TCP),主端口(例如2222),子系统端口(22)。 - 启动,这样主可以通过访问本地的2222端口(转发到的22端口)来连接。 4. 获取Kali Linux的IP地址(在桥接模式下需要): 在Kali Linux终端中运行: ```bash ip a ``` 找到网络接口(如eth0或ens33)的IP地址(inet字段)。 5. 从主连接: 在主上使用SSH客户端连接: - 如果使用桥接模式: ```bash ssh kali用户名@IP地址 ``` - 如果使用NAT模式并配置了端口转发: ```bash ssh -p 2222 kali用户名@localhost ``` 注意:这里的主端口是2222(你在端口转发规则中设置的主端口),用户名是Kali Linux中的用户名。 注意:Kali Linux默认禁用了root的SSH登录,并且可能不允许密码登录(只允许密钥)。为了简单测试,我们可以修改配置允许密码登录和root登录(不推荐生产环境): 编辑SSH配置文件: ```bash sudo nano /etc/ssh/sshd_config ``` 修改以下两行(确保它们没有被注释,并且值如下): ``` PermitRootLogin yes PasswordAuthentication yes ``` 然后重启SSH服务: ```bash sudo systemctl restart ssh ``` 但是,出于安全考虑,建议使用普通用户登录,然后使用`su`或`sudo`提升权限。 现在,我们可以生成相关问题: §§相关问题§§ 1. 如何提高SSH连接的安全性? 2. 在VirtualBox中如何配置桥接网络? 3. 如何设置SSH密钥认证免密码登录? 4. 为什么Kali Linux默认禁用root的SSH登录?如何安全地启用? 5. 如何解决SSH连接超时的问题?</think>### 如何通过SSH访问中的Kali Linux 以下是详细步骤(以VirtualBox为例): 1. **启用Kali的SSH服务** - 在Kali中执行: ```bash sudo systemctl enable ssh # 设置开自启 sudo systemctl start ssh # 立即启动服务 ``` - 检查服务状态: ```bash sudo systemctl status ssh # 确认状态为"active (running)" ``` 2. **配置网络** - **桥接模式**(推荐): ```bash ip a # 查看Kali获取的局域网IP(如192.168.1.x) ``` - **NAT端口转发**(适用于无法桥接的场景): * 关闭VirtualBox设置 → 网络 → 高级 → 端口转发 * 添加规则:`名称=SSH, 协议=TCP, 主端口=2222, 子系统端口=22` 3. **获取Kali的IP地址** ```bash ip route get 1 | awk '{print $7}' # 获取默认网关IP ``` 4. **从主连接SSH** - 桥接模式连接: ```bash ssh kali用户名@IP # 如 ssh kali@192.168.1.100 ``` - NAT端口转发连接: ```bash ssh -p 2222 kali用户名@localhost # 通过转发的端口连接 ``` 5. **登录验证** - 首次连接需接受指纹: ```bash The authenticity of host '...' can't be established. Are you sure you want to continue? (yes/no/[fingerprint]) yes ``` - 输入Kali用户密码完成登录 > ⚠️ **安全提示** > - 禁用root登录(修改`/etc/ssh/sshd_config`): > ```bash > PermitRootLogin no # 增加安全性[^1] > ``` > - 启用密钥认证: > ```bash > PasswordAuthentication no # 禁用密码登录 > ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

surfirst

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值