在 MacOSSierra 上,我正在使用 Ubuntu 16.4 Server (CLI) 运行 VirtulBox 我正在尝试建立从 Mac 到 VM 的 SSH 连接(它们都在同一台计算机上)
苹果电脑终端:
usermac-MacBook-Pro:~ usermac$ ssh [email protected] -v
OpenSSH_7.2p2, LibreSSL 2.4.1
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 20: Applying options for *
debug1: Connecting to x.x.x.x [x.x.x.x] port 22.
debug1: connect to address x.x.x.x port 22: Operation timed out
ssh: connect to host x.x.x.x port 22: Operation timed out
VM终端显示如下:
当我执行相同操作时,从 ubuntu 服务器 (VM) 到 ubuntu 服务器 (vm) - 本地并使用:
ssh [email protected]
一切正常。我可以连接
同样的事情在虚拟机环境之外不起作用。
答案1
假设您使用默认的 NAT 网络适配器(适用于大多数用例),为了从主机连接到虚拟机,您首先需要设置端口转发。在 VirtualBox GUI 中,调出虚拟机设置,然后转到网络 > 高级 > 端口转发。选择“22”作为访客端口,并为主机端口选择任意端口号(我喜欢使用“2222”)。按“确定”退出所有对话框并应用设置。
现在,您将能够通过本地系统上选定的端口连接到虚拟机。确保使用“localhost”或 127.0.0.1 作为主机名。例如:
sssh user@localhost -p 2222
答案2
检查 IPTables,看看 SSH 在 VM 控制台上是否工作正常,这会导致某些外部访问问题。尝试运行(以 root 或 sudo 身份) iptables -F 或检查连接设置,例如正确的 IP 或 NAT 设置。尝试将虚拟机设置为桥接适配器并为其提供静态地址(如果可能)