リンク > ITメモ > Mac Ubuntu

Mac OS High SierraにおけるVirtualBox内でのUbuntu 16.04の設定および
ローカルマシンからUbuntuへのSSH接続

はじめに

 普段はMacを使っているのだが,Linuxでしか作動しないモジュールをインストールする必要性が生じたことを契機として,Mac内へのLinux仮想マシン環境の構築を試みた.自分用の備忘録も兼ね,作業の過程を記録しておく.
 本テーマに関しては既に多くの知見が蓄積されているものの,情報が古かったり有用な情報が分散していたりするので,2018年8月時点での環境構築に当たり参照した情報を集約する.

環境

  • Macbook Pro late 2016
  • Mac OS High Sierra ver.10.13.1
  • VirtualBox ver.5.2.2 r119230
  • Ubuntu 16.04

VirtualBoxとUbuntuのインストールおよびいくつかの重要な初期設定

 こちらに,必要な手順が全て網羅されている.ただし以下の3点に気を付ける.
  • 言語を英語,キーボード配列をUSに設定した.文字化け回避のため言語は英語の方が無難だと思われる.キーボードは各自使用しているものを設定.
  • 上記リンク中でVBox~で始まるCDイメージが見つからない場合は,VirtualBoxのメニューから 「デバイス」→「Guest Additions CDイメージの挿入」を選択.
  • VirtualBox の設定で「3D アクセラレーションを有効化」により円滑な画面操作を可能にする.
 クリップボード共有設定も済ませる(参考URL).ホストキーを左コマンドから右コマンドボタンへと変更(参考URL).ただし,同ページにある「共有フォルダの設定」に関しては,以下に書く理由から参照すべきでない.

共有フォルダの設定

 共有フォルダの設定に関しては結構苦戦した.
 上記リンクにあるように「自動マウント」にチェックを入れてしまうと,仮想マシン内での共有フォルダのマウントの設定が効かなくなってしまう.
 マウントせずにホームディレクトリにリンクを貼るという方法を紹介する記事が多く見られ,私も当初そのようにしていたが,自動マウントにしてしまうとroot権限になってしまうため色々と不便が多い(共有フォルダに入ると他のディレクトリを参照できなくなるなど).
 以上の理由から,VirtualBoxに自動マウントさせるのではなくUbuntu起動後にマウントするように設定する方が適切である.
 そのためには,こちらにある通り「自動マウント」をオフにし,Ubuntu起動後に/etc/rc.localを管理者権限で編集し,以下の内容をexit 0の前に書き込む
 mount -t vboxsf -o uid=1000,gid=1000 共有フォルダ名 Linux上でのディレクトリのパス(マウントポイント)
 uid, gidを1000にすることでマウントポイントの所有権を設定できる.気をつけるのは,共有フォルダ名は名前のみ,Linux上での共有先はパスで表現するということである.

ターミナルの設定

ショートカットキー

 メニューのPreferences→Shortcutsでキー配列を変更. Preferences→Profiles→Editでフォントやウィンドウの設定. コピーにctrl-cを割り当てると,ターミナルにおけるプロセスの停止が効かなくなるため,初期設定のctrl-shift-cのままの方が良い.これは不便ではあるが,後述するようにMacターミナルからSSHログインできる環境を整備すればcommand-c, vによるコピーアンドペーストが可能になるので,そちらで作業を統一する方が効率的である.

MacからUbuntuへSSH接続するためのVirtualBoxでの設定

 VirtualBoxのホストオンリーアダプターを作成 (参考URL) UbuntuにSSHdをインストール
sudo apt-get install openssh-server
/etc/ini.d/ssh start
 これ以降に関してはこちらを参照. ifconfigを確認し,アダプターの情報を書き込み(addressとnetmask) sudo vi /etc/network/interfaces 現在のバージョンのUbuntuではenp?s? (?には任意の一桁の数字)が割り当てられる.
 公開鍵の設定を済ませ,Mac側からssh ユーザ名@IPアドレスでログインできるようになった. めでたしめでたし.

参考URL