OpenSSHのセットアップ

OpenSSH経由でほかのホストにリモートログインして作業するのは開発者によっては日常茶飯事だ。それは実際にネットワーク経由かもしれないし、Macで仮想環境を動作させゲスト環境にログインするためかもしれない。OpenSSHによるほかのホストへのログインは最初にセットアップを行っておきたい。

まず、ssh-keygenコマンドを使って新しいM1 Mac用の認証鍵(公開鍵・秘密鍵)を生成する。次のスクリーンショットの例だと、~/.ssh/id_rsaという秘密鍵と、~/.ssh/id_rsa.pubという公開鍵が生成されている。

  • ssh-keygenで認証鍵(公開鍵・秘密鍵)を生成

    ssh-keygenで認証鍵(公開鍵・秘密鍵)を生成

リモートログインや接続するサービスに公開鍵(~/.ssh/id_rsa.pub)を登録して回る。sshでリモートログインする場合、リモートホストの~/.ssh/authorized_keysファイルに公開鍵を追加する仕組みになっていることが多い。サービスごとに細かな設定は変わるが、それに合わせて設定を行ったら、M1 Macの~/.ssh/configファイルにログインするリモートホストごとに次のような設定を追加する。

~/.ssh/configに追加する設定のサンプル

Host ホスト名
    Hostname    IPアドレス
    User        ユーザ名
    IdentityFile    ~/.ssh/id_rsa
    ForwardAgent    yes

ファイルを設定したら、普段アクセスしているリモートホストにログインできることを確認しよう。

MacはOpenSSHのサーバとしても動作できるので、Macにssh経由でリモートアクセスすることもできる。Macにssh経由でリモートログインするならシステム環境設定から「共有」→「リモートログイン」にチェックを入れ、「アクセスを許可」にアクセスを許可するユーザーを追加する。デバイスの持ち主のみアクセスを許可するなら、「Administrators」のみが許可されている状態になっていればよい。

  • システム環境設定:「共有」→「リモートログイン」にチェックを入れ、アクセス許可を与えるユーザを選択

    システム環境設定:「共有」→「リモートログイン」にチェックを入れ、アクセス許可を与えるユーザーを選択

sshによるリモートログインは開発者にとって重要だ。最初に設定を行い、いつもログインしているホストに入れることを確認しておこう。

sshの認証鍵の管理についてはさまざまな考え方があるが、わかりやすいのはデバイスごとに認証鍵(公開鍵・秘密鍵)を用意する方法だ。この方法であれば、デバイスが故障して破棄したり窃盗の被害に遭ったりした段階で、登録しておいた公開鍵を削除して回ることでアクセスを禁止できる。認証鍵の管理方法としてわかりやすい。

Gitのセットアップ

GitHub.comも開発者に欠かすことのできないサービスだ。OpenSSHのセットアップが終わったら、Github.comの設定を行って利用できるようにしておこう。

Github.comにサインインし、メニューから「Settings」→「SSH and GPG keys」→「New SSH key」を選択する。

  • GitHubにサインインしてメニューから「Settings」を選択

    GitHubにサインインしてメニューから「Settings」を選択

  • 「SSH and GPG keys」→「New SSH key」を選択

    「SSH and GPG keys」→「New SSH key」を選択

タイトルにどの鍵かわかりやすい名前を入力し、Keyに先ほど作成した認証鍵の公開鍵を貼り付けて「Add SSH key」を押す。

  • 認識しやすいタイトルを付け、公開鍵を貼り付けて「Add SSH key」を押す

    認識しやすいタイトルを付け、公開鍵を貼り付けて「Add SSH key」を押す

gitコマンドで次のようにGithub.comのユーザー名と電子メールアドレスを設定する。

Github.comを使うための基本設定

git config --global user.email "メールアドレス"
git config --global user.name "ユーザー名"

ここまで設定したら、git cloneやgit pullといった操作が実施できることを確認する。

Visual Studio Codeのセットアップ

使い込んでいるエディタや統合開発環境が既にあるなら、そちらをインストールしてもらえればと思う。特にこだわりがない、別のエディタを試してみたいと考えているなら、現時点では人気が伸びている「Visual Studio Code」を試してみるとよいだろう。

  • Visual Studio Code

    Visual Studio Code

Visual Studio Codeは、拡張機能をインストールすることでさまざまなプログラミング言語や作業のプラットフォームになる。WindowsやLinuxでも使うことができ、汎用エディタとしても統合開発環境としてもつぶしが効きやすい。汎用エディタとして用意しておけば便利だ。

Visual Studio Codeは、Homebrew経由で「brew install visual-studio-code」のようにしてインストールできる。

  • HomebrewでVisual Studio Codeをインストール

    HomebrewでVisual Studio Codeをインストール

  • Visual Studio Code実行サンプル

    Visual Studio Code実行サンプル

エディタや統合開発環境はユーザーの好みが出やすいところなので、合わないと思ったら使うのをやめて問題ない。ただ、Visual Studio Codeは今後も発展していきそうなので、使ったことがないのであれば、M1 Macを手に入れたタイミングでトライしてみるのはありだと思う。

Intel Windowsは使えるようになるか

M1 Macにおいてモヤモヤするのは仮想環境だ。M1 MacからはParallels DesktopやVMware FusionでIntel系のオペレーティングシステムが動作せず、Boot Campも動かない。MacでWindowsも使ってきた開発者にとってこれは痛手なのだ(参考「VMware「現状M1 MacでIntel版Winサポートしない」、仮想環境どうすべき?」)。

現在明らかになっている情報からは、M1 Macを使いながらIntel版Windowsを使いたい場合、Windows搭載PCかIntel Macも購入する(または維持し続ける)のが現実解になる。どちらを採用するにせよ、M1 MacとIntel PC/Macの2台持ちになる。これまでMacBookを持ち歩いて開発していたスタイルであれば、MacBookとノートPC2台持ちか、MacBook 2台持ちで移動しなければならないかもしれない。

これからM1 Macを購入する開発者が増えるにつれて、この問題はより大きなものになっていく可能性がある。今後AppleやMicrosoft、仮想化アプリケーションベンダーがどのような取り組みを行うのか、注目していきたいところだ。