この記事は、株式会社エイチームフィナジーの Advent Calendar 2021 17 日目の記事になります。
20 卒エンジニアの @tommy1038 が担当いたします。
みなさんは普段 Linux を触っていますでしょうか?
僕は基本的に Mac を使う人間で、あまり Linux を触ったことがありませんでした。
触る環境を作るために、VirtualBox を使えばできることは分かっていましたが、
- Mac 上に立ち上げた Linux を操作すると、ちょっとラグがある
- キー配列が若干違う
- Mac で検索したコマンドなどがコピペができない
のようなことがあり、ちょっと敬遠していました。
ですが最近、その仮想環境に ssh で接続すれば自身の Mac のターミナルから操作できるということを知り、自身の Mac に Linux の環境を構築して、楽しく触ることができました。
今回は、そのやり方を紹介してみます。
VirtualBox のダウンロードとインストール
下記からダウンロードが可能です。
完了すれば、インストーラーの指示に従って、インストールを進めてください。
Downloads – Oracle VM VirtualBox
Ubuntu 用の仮想マシンの作成 & Ubuntu のインストール
今回は、Ubuntu の環境を用意してみます。
Ubuntu Desktop 日本語 Remixのダウンロード | Ubuntu Japanese Team
CentOS や Debian の環境も同様に作ってみましたが、問題なく動作しました。
参考のリンクには、CentOS や Debian の環境構築を扱っている記事を貼ってみましたので、もしそちらの環境を作成してみたい方は見ていただけると幸いです。 🙏
Ubuntu に関しては、これらのサイトを参考にしながら作成してみました。
Mac で作成していたので、若干 UI が違う箇所はありましたが、問題なく作成できると思います。
作成していて少し迷ったのが、ストレージを選択する際に下の画像の赤枠の箇所をクリックしたらディスクファイルの選択が表示される形になっていて、どこをクリックしたらわかりづらいなとは思いました。
また、今回は ssh でつないで挙動を見ていく、ということなので、こちらの場所では最小インストール
を選択しました。
Mac から Ubuntu に ssh で接続する
では本題の Mac から Ubuntu に接続していきましょう。
まずは、VirtualBox で Ubuntu の設定を変更します。
ブリッジアダプターへの変更
仮想マシンの設定画面のネットワーク
タブを選択してください。
デフォルトでは、NAT
になっていると思うので、ブリッジアダプター
に変更しましょう。
名前の部分は自分のマシンになるネットワークインターフェースを選ぶ場所になります。
Wi-Fiでの環境下であれば、変更せずに画像のようにen0: Wi-Fi(AirPort)
で問題ありません。有線で接続されている場合は、en7: USB 10/000/1000 LAN
が表示されているかもしれません。有線の場合であれば、そちらを選択しましょう。
Ubuntu に ssh をインストールする
Ubuntu を起動して、左下のアプリケーションを表示する
をクリックすると、インストールされているアプリを確認することができます。
その中で、端末
をクリックすると、ターミナルを開くことができます。
ssh で接続していきたいので、まずは下記のコマンドを入力して、ssh をインストールしましょう。
$ sudo apt-get install ssh
sudo でパスワードを求められますが、現在のアカウントのパスワードを入力すれば OK のはずです。
僕が作業した際は、うまくいかなかったので、一度パスワードを設定してみると、直りました。
Ubuntu 16.04: root でログインする - Narrow Escape
Mac 側でキーペア(秘密鍵と公開鍵)を作成 & 登録
作成
$ cd ~/.ssh
$ ssh-keygen -f client_rsa -t rsa -b 2048
Enter passphrase: パスワードを設定する場合は入力してEnter。不要ならEnter。
Enter some passphrase again: もう一度同じように入力。
確認すると、以下のような感じ
$ ls ~/.ssh
client_rsa client_rsa.pub
登録
$ ssh-add -K ~/.ssh/client_rsa
鍵を Ubuntu に登録する
ssh-copy-id コマンドで、Ubuntu に鍵を登録します。まず、Ubuntu上で、IPアドレスの確認を行います。
IPアドレスが確認できたので、Mac側から鍵を登録してみます。ちなみに、いうまでもないかもしれませんが、Ubuntuでのユーザ名をryota
として入っています。
接続してみる
では、ssh で接続してみましょう。
❯ ssh -i ~/.ssh/client_rsa (ユーザ名)@(IPアドレス)
こんな形で接続することができました。
おまけ
ssh で接続できるようになりましたが、少しだけ設定を修正します。
- パスワードでのログインを禁止にする(公開鍵認証のみにするため)
- ポート番号をデフォルトの 22 から 5022 に変更
- ルートでのログインを禁止にする
の 3 点を修正してみます。
$ sudo apt-get install vim
$ sudo vim /etc/ssh/sshd_config
で、設定ファイルが立ち上がるので、以下の設定に変更させます。(変更項目のみ抜粋しています。)
Port 5022
PasswordAuthentication no
PermitRootLogin no
こちらの変更をして、再起動を行います。
systemctl restart ssh
最後に
これで、楽しく遊べるLinux環境が作れたかと思います。
実際、Ubuntuの環境を作ってみると、GUI上ではあまりラグは感じませんでしたが、日本語入力と英数入力で少しごたついたりしたので、Macのターミナルからアクセスできるのは、嬉しいかなと思います。
こんな感じでお手軽にLinux環境を用意できるので、敬遠してた方がおられましたら触るきっかけになれば嬉しいです。