Mac使用ssh连接到Parallels里的Linux虚拟机

Mac上每次用Parallels打开Red Hat 7系统,都是一阵超慢的感受,我的虚拟机文件是通过移动硬盘来读取的。尤其是图形界面,要卡个半天。我在想是否可以通过ssh直接连接Parallels里的Ret Hat系统。网上有这样的解决方案,参考这篇

Parallels虚拟机的默认网络设定是Shared Networking模式,在这种模式下,主机和虚拟机之间能够通过虚拟网络互相通信,虚拟机也能通过主机连接互联网,所以在本地不需要任何设定就可以连接到虚拟机上。

设定RHEL 7默认为命令行模式

因为RHEL 7默认启动图形界面,所以开机的时候会比较慢,而且占用内存会比较多一点。对于RHEL 7而言,可以使用命令

1
systemctl set-default multi-user.target

来设置默认启动方式为命令行模式,如果想切换默认启动方式回到图形界面,可以执行命令

1
systemctl set-default graphical.target

注意,在RHEL 6之前包括RHEL 6,启动默认行为是在配置文件/etc/inittab里进行修改的。

开启SSH服务

要使用ssh连接首先要确保RHEL开启了ssh服务。要查看sshd服务的状态,执行命令

1
service sshd status

如果发现状态是inactive,执行命令开启sshd服务

1
service sshd start

如果嫌手动开启太麻烦,可以将ssh服务设置为开机自启,执行命令

1
chkconfig sshd on

更改防火墙设置

完全禁用防火墙,这种方法不推荐,也很不安全。

配置iptables,允许ssh连接。修改配置文件/etc/sysconfig/iptables,找到ssh连接的规则(ssh默认端口为22)

1
2
3
4
5
6
7
8
9
10
11
12
13
# Firewall configuration written by system-config-firewall
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT

保存之后,重启防火墙服务

1
service iptables restart

在终端里ssh连接Linux虚拟机

一切配置妥当之后,在RHEL下先查看当前的ip地址,记下该ip地址

1
ifconfig

然后,在Mac终端里就能使用ssh登录到RHEL了。执行命令

1
ssh username@virtualMachineIpaddress

总结

其实我的RHEL 7默认已经开启了ssh服务,而且我都没有更改防火墙,就能使用ssh连接到RHEL 7了。但是不排除遇到别的机器时,不会遇到上面的情况。同样的方法其实不止可以连接Linux虚拟机,还可以连接内网环境里的任何Linux操作系统,虽然开启ssh服务以及更改防火墙规则的命令可能稍微不一样,但是核心思想是不变的。我用差不多的方法连上了同一局域网里的另外一台OpenSUSE系统。

avatar

chilihotpot

You Are The JavaScript In My HTML