今回もiMacネタです。Mac OS Xは何度も書いている通りUNIX系のOSですので、Linuxサーバと同じように設定することができます。前回はiMacから外部のサーバにSSHで接続する時の文字化け対策を書きましたが、今回はiMacにSSHでログインするように設定して見ました。
今のところiMacにはWebサーバ等をインストールする事は考えていませんがインストールは可能です。Amazon EC2の方が開発環境には向いていると思いますので、iMacをサーバとして使う必要は無いと思うからです。もしAmazon EC2がなければWebサーバ等を設定していたかもしれません。
1.MacのIPアドレスを固定
まずは、外部からアクセスするために固定IPアドレスを割り振ります。[システム環境設定]→[ネットワーク]→右下にある[詳細…]ボタンをクリックします。[TCP/IP]タブをクリックすると下記の画面が表示されます。[DHCPサーバを使用(アドレスは手入力)]を選択し、[IPv4アドレス]を指定します。Macは通常[OK]ボタンなどは押さずに設定は反映されますが、IPアドレスの変更は下の[OK]ボタンを押して下さい。[OK]ボタンを押さない限りIPアドレスは反映されません。
2.sshdの設定
[システム環境設定]→[共有]を選択します。下記の画面が表示されますので、[リモートログイン]にチェックを付け、ユーザを選ぶ場合は[次のユーザのみ]にチェックを入れて[+]でユーザを追加します。これでiMacにSSHでログイン可能になります。
3.rootユーザを有効化
Macのサポートページに書いてあるとおりです。9の「編集」メニューと言うのでちょっとつまずきました。上部のメニューバーに気が付かずに「編集」をずっと探していました。ずっとWindowsを使っていましたので、ウィンドウと独立したメニュー構成はちょっと慣れるまで時間がかかりそうです。
- Apple メニューから「システム環境設定」を選択します。
- 「表示」メニューから「ユーザとグループ」を選択します。
- 鍵アイコンをクリックし、管理者アカウントで認証します。
- 「ログインオプション」をクリックします。
- 右下の「編集」または「接続」ボタンをクリックします。
- 「ディレクトリユーティリティを開く」をクリックします。
- 「ディレクトリユーティリティ」ウインドウの鍵アイコンをクリックします。
- 管理者アカウント名とパスワードを入力し、「OK」をクリックします。
- 「編集」メニューから「ルートユーザを有効にする」を選択します。
- 利用するルートパスワードをパスワードフィールドとその確認用フィールドに入力し、「OK」をクリックします。
4.sshdの設定
Linuxの設定と同じですので「SSHのセキュリティ設定(パスワード認証から鍵認証へ)」をご覧ください。sshd_configの場所が/etc/ssh/sshd_configから/etc/sshd_configに変更されている点だけが違います。このsshd_configの編集はrootで行いましょう(この編集はGUIで可能かどうかわかりませんので今回はsshd_configを直接編集しました)。
$ su - Password: # vi /etc/sshd_config
5.TeraTermでログイン
TeraTermを起動し、IPアドレス、ユーザ名、パスワード、秘密鍵を選択してログインすると普通にログインできることが確認できると思います。iMac側でコンソールを起動し、/var/logのsecure.logを表示すると下記のようにログが確認できます(ターミナルでtail /var/log/secure.logを表示しても同じ)。