我的家用电脑: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