仮想化通信

日本仮想化技術株式会社の公式エンジニアブログ

Mac OS Xに対してリモートログインする

日本仮想化技術では、スタッフの誕生日に皆でケーキを食べる習慣があります。同じ月に複数のスタッフがお誕生日の場合には、どっちかの日に寄せるか、真ん中あたりにするか、という感じで、皆毎回楽しみにしています。

さて、今日もそんな3月の誕生日会ケーキだったわけですが、離席している間にMacProの画面がスリープして、そのまま暴走。別のMacから確認すると、カーネルはいきてますがディスプレー周りが死んでいます。WindowServerプロセスが死んだかな?

こんな時のためにシステム環境設定の共有からリモートログインして、コマンドラインで落とす方法もあるのですが、いまいちうまく設定されていなかったようなので、あらためて設定を確認、調整してみました。

まず、別のMacからSSHで入るわけですが、アドレスはDHCPで割り当てているので変わります。そこで、MacBonjour機能で名前解決したいわけなんですが、今までMacに付けていた名前に「'」や空白が入っていて、いまいちうまくコマンドライン引数からの名前解決ができません。仕方がないので、単なるアスキー文字、空白無し(MiyaharaMacPro)にしたところ、

$ ssh MiyaharaMacPro.local

で接続できるようになりました。Bonjourは.localドメインになるので、必ず.localを付ける必要があります。

さて、次にパスワード認証ではなく公開鍵認証の設定です。普通にホームディレクトリ以下に.sshディレクトリを作って、authorized_keysを作って、それぞれのパーミッションを適切に設定すればOKです。特別なところはありません。

うまく公開鍵認証でリモートログインできるようになったら、最後にパスワード認証を切っておきます。LinuxだとPasswordAuthenticationだけ設定ですが、Mac OS X(Marvericks)ではChallengeResponseAuthenticationの方を切っておきます。気になる人はPasswordAuthenticationも切っておきましょう(デフォルトでnoですが)。

設定ファイルは/etc/sshd_configにあるので、sudoでviを起動します。

ChallengeResponseAuthentication no

設定ができたら、システム環境設定で一度リモートログインを切って、再度入れ直せばsshdが再起動します。公開鍵認証しかできないことを確認したら作業は完了です。