我可以通过 SSH 远程登录我的虚拟机吗?

我可以通过 SSH 远程登录我的虚拟机吗?

我的家用电脑:Windows 7 笔记本电脑也通过 VirtualBox 使用桥接网络连接(而不是 NAT)运行 Ubuntu 虚拟机。

我的工作电脑:一台 Windows 7 电脑。

我想从我的工作电脑远程通过 SSH 进入我的家用电脑,因为我希望能够运行/操作我的 LAMP 网络服务器(是的,它涉及 MySQL 内容)。我在 VirtualBox 上运行 Apache,如果能从远处进行控制就太好了。

据我所知,SSH 是一种远程“登录”终端的方式,对吗?我在 Google 上搜索过这个主题(这让我找到了 PuTTY 之类的东西),但我很难理解这一切是如何工作的,或者作为初学者我需要设置什么或记住什么。

但是,如果可能的话,能够从任何地方通过 SSH 连接也很好!那真的很方便。

答案1

要安装/配置 SSH,你应该查看网上可以找到的众多指南之一,这个例如。

您可以使用以下命令通过 SSH 连接到您的虚拟机:

ssh user@ip

随后系统将提示您输入密码。如前所述,要连接,您需要一个 IP。本地连接时,您有一个本地 IP。您可以使用以下命令检查当前系统的此地址ifconfig。示例:

ifconfig
eth0      Link encap:Ethernet  HWaddr e8:39:35:42:ed:96  
          inet addr:191.13.238.54  Bcast:191.13.255.255  Mask:255.255.0.0
          inet6 addr: fe80::ea39:35ff:fe42:ed96/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:85385 errors:0 dropped:0 overruns:0 frame:0
          TX packets:77885 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:48235010 (48.2 MB)  TX bytes:9640323 (9.6 MB)

在我的例子中,是inet addr你的本地 IP 地址191.13.238.54。如果我要连接到计算机上的 SSH 服务器,我将执行以下操作:

ssh [email protected]

要允许从网络外部进行连接,您需要通过路由器的管理面板将 SSH 运行端口上的传入流量转发到您的本地 IP 地址。某些路由器可能不支持此功能,并且不同制造商的管理面板的工作方式不同。如果您遇到此问题,您可以随时致电客户支持。

要检查您的“全球” IP 地址,您可以访问此网站:我的 IP 是多少?

当通过 SSH 连接到您的“服务器”时,您可以执行各种任务,例如 SQL:

mysql -u root -p -h 127.0.0.0

在上面的场景中,root 是用户,密码通过启用-p,主机是 127.0.0.0/localhost(您的本地计算机)。

您还可以访问文件使用纳米或任何其他文本编辑器,例如非常流行且功能强大(且复杂)的vim。总而言之,您现在拥有终端的功能,前提是您通过 PuTTY 连接。

通过 Ubuntu 的文件管理器进行连接,可以为您提供更好的视觉体验,并允许您在 GUI 编辑器中编辑文件,而不是通过命令行。Windows 上也有类似的程序,您必须自己弄清楚。

答案2

如果您想从任何地方通过 ssh 连接到您的 VM(甚至是您的计算机),您的主机(工作)计算机必须具有一个 IP,您可以从您的 ISP 租用该 IP(如果他们提供)。

但是,如果您想从自己的计算机通过 ssh 连接到虚拟机,则取决于您的 VirtualBox 设置。导航到您的虚拟机设置,网络选项卡。将您的虚拟机连接到 NAT,然后提前设置端口转发,如下所示:

Protocol -> TCP, HostIP -> 127.0.0.1, Host Port -> 1222, GuestIP -> (your VM ip shown via command ifconfig), GuestPort -> 22

最后你可以通过 ssh 连接到你的机器ssh [email protected] -p 1222

相关内容