MACの下でterminalを使用してParallelに接続して作成したLinux仮想マシン

17548 ワード

Macbookを買ってからUnixコマンドラインを勉強しています.目的の一つはLiunxシステムをもっと上手に遊ぶことです.Mac OS XとLinuxはどちらもUnixベースですが、Mac OS Xは様々な設定で主流Linuxと大きく異なるため、最終的にはParallelsにRet Hat傘下のFedoraが取り付けられました(RHELと共通点が多いため).命令行式の操作方式を学ぶ以上、デフォルトで起動したXは私にとってシステム資源を占有するだけで、意味がないので、Mac OS XのTerminalに直接SSHをFedora仮想機に接続することを考えて、このようにしてシステム資源を節約することができて、2つは仮想機と本機の間で切り替える必要がなくて、多くの面倒を省いて、3つは自分で命令行の操作方式に慣れることができて、一挙に多くなります.
XモードとテキストモードにおけるFedora仮想マシンシステムのリソース占有比
Parallels仮想マシンのデフォルトのネットワーク設定はShared Networkingで、このモードではホストと仮想マシンの間で仮想ネットワークを通じて互いに通信することができ、仮想マシンもホストを通じてインターネットに接続することができるので、実は本機では何の設定も必要とせずに仮想マシンに接続することができます.実際、ifconfigコマンドを使用すると、Parallelsはローカルに2つの仮想ネットワークカード、vnic 0、vnic 1を構築し、前者はShared Networking、後者はHost-ONlyモードに使用されることがわかります.そのため、SSHをLinux仮想マシンに接続するには、Linuxの下でいくつかの設定を行うだけです.

Fedoraのデフォルト起動をテキストモードに設定(オプション)


Linuxには一般的に0-6の7種類の起動レベルがあり、デフォルトは5、すなわちグラフィックインタフェースモードであり、/etc/inittabファイルを編集することで変更できます.この書類は事実上最後の行だけ有効で、その他はすべて注釈です.
私はRootユーザーのコマンドプロンプトをすべてドル記号に変更しました.そうしないと、コマンドは誤って注釈と認識されます.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
[root@Mac /]$ vi /etc/inittab
 
#
# System initialization is started by /etc/init/rcS.conf
#
# Individual runlevels are started by /etc/init/rc.conf
#
# Ctrl-Alt-Delete is handled by /etc/init/control-alt-delete.conf
#
# Terminal gettys are handled by /etc/init/tty.conf and /etc/init/serial.conf,
# with configuration in /etc/sysconfig/init.
#
# For information on how to write upstart event handlers, or how
# upstart works, see init(5), init(8), and initctl(8).
#
# Default runlevel. The runlevels used are:
# 0 - halt (Do NOT set initdefault to this)
# 1 - Single user mode
# 2 - Multiuser, without NFS (The same as 3, if you do not have networking)
# 3 - Full multiuser mode
# 4 - unused
# 5 - X11
# 6 - reboot (Do NOT set initdefault to this)
#
id:3:initdefault:

編集保存後、次回再起動するとテキストインタフェースが起動します.

SSHサービスを起動し、起動してから起動するように設定する


Fedoraの下でSSHサービスはデフォルトで停止しているので、手動で開く必要があります.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#  sshd     
[root@mac /]$ service sshd status
openssh-daemon is stopped
 
#  sshd  
[root@mac /]$ service sshd start
Generating SSH2 RSA host key:                              [  OK  ]
Generating SSH1 RSA host key:                              [  OK  ]
Generating SSH2 DSA host key:                              [  OK  ]
Starting sshd:                                             [  OK  ]
 
#       ,running        
[root@mac /]$ service sshd status
openssh-daemon (pid  2027) is running...

手動で起動するたびに面倒なので、SSHサービスを起動してから起動するように設定できます
1
2
3
4
5
6
#  chkconfig          ,    2-5 4          
[root@Mac /]$ chkconfig sshd on
 
#      
[root@Mac eric]$ chkconfig | grep sshd
sshd           	0:off	1:off	2:on	3:on	4:on	5:on	6:off

ファイアウォール設定の変更


Fedoraのファイアウォールは手動で構成する前にssh接続を拒否していたので、sshサービスを開いていてもローカル接続からConnection Refusedを提示します.
1
2
3
#IP           ifconfig    
ericzhuの Macbook :~ $ ssh root@10.211.55.8
ssh: connect to host 10.211.55.8 port 22: Connection refused

解決策は2つあります.
ファイアウォールを完全に無効にする最も安心できる方法は、もともとこのファイアウォールもあまり役に立たない.方法はSSHサービスの処理と類似している.
1
2
3
4
5
6
7
8
[root@Mac eric]$ service iptables stop
iptables: Flushing firewall rules:                         [  OK  ]
iptables: Setting chains to policy ACCEPT: filter          [  OK  ]
iptables: Unloading modules:                               [  OK  ]
 
[root@Mac eric]$ chkconfig iptables off
[root@Mac eric]$ chkconfig | grep iptables
iptables       	0:off	1:off	2:off	3:off	4:off	5:off	6:off


iptablesファイルを構成し、SSH接続を許可します.ファイアウォールを無効にするのが暴力的だと思ったら、ファイアウォール設定を構成してssh接続を許可することができます.Fedoraはグラフィック構成インタフェースsystem-config-firewallを提供し、テキストモードでsystem-config-firewallを直接入力すると構成インタフェースに入り、Customオプションに入った後、Trust ServicesリストでSSHをチェックし、適用すればよい.もちろん、system-config-firewallも/etc/sysconfig/iptablesにデータを書き込むためのツールにすぎません.iptablesファイルを直接変更し、手動でファイアウォールルールを追加し、iptablesサービスを再起動すればいいです.10行目は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
2
3
4
5
6
[root@Mac eric]$ service iptables restart
iptables: Flushing firewall rules:                         [  OK  ]
iptables: Setting chains to policy ACCEPT: filter          [  OK  ]
iptables: Unloading modules:                               [  OK  ]
iptables: Applying firewall rules:                         [  OK  ]
[root@Mac eric]#


端末でSSHが仮想マシンにログインする


これですべてが適切に構成され、端末でsshがLinux仮想マシンにログインできます.後で便利にするために、私はいます.bashrcに別名を書きます.
1
alias fedora='ssh root@   IP  '

後で仮想マシンを起動したら、fedoraを直接入力してパスワードを入力するとログインできます.

ごたごた


ParallelsはBridge Networking(ネットワークブリッジ)もサポートしており、このモードを採用すると、仮想マシンはローカルネットワーク内のマシンにシミュレートされ、ネイティブと平行になります.私は家でワイヤレスルータを使っているので、仮想マシンのIPは192.168.0になります.X、この方法はShared Networkingよりも直感的かもしれません.
Ubuntuとは異なり、Fedora(Red Hat系のLinux)はデフォルトでrootアカウントを有効にしているはずですが、インストール中に新規作成されたユーザーアカウントにはsudo権限がありません.つまり、システム管理コマンドを実行する場合は、sudoを使用することなくrootに切り替えなければなりません.これは私が以前Ubuntuで身につけた習慣とは違います.visudoコマンドで自分のアカウントをsudoerに追加できます.
Fedora 15も間もなく発売され、GNOME 3に加わるようで、すごいですね.
From:http://www.digglife.cn/articles/ssh-access-to-parallel-linux-virtual-machie-with-terminal.html