LoginSignup
10
17

More than 5 years have passed since last update.

Mac で外部から安全に ssh 接続できるようにする

Last updated at Posted at 2016-11-03

前回の記事で Mac の設定について書きましたが、外部から Mac に接続する設定について少し補足をしておきます。

SSH のポート番号変更

OSX El Capitan 以降は SIP によって /System 以下のディレクトリが保護されています。そこで /Library 以下に ssh.plist をコピーして port 番号をカスタマイズすることになります。

sudo cp /System/Library/LaunchDaemons/ssh.plist /Library/LaunchDaemons/ssh2.plist
sudo vim /Library/LaunchDaemons/ssh2.plist

以下、ポート番号を 9999 に変更する前提で記述します。

ポイントとなる場所だけを記述すると

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
        <string>com.openssh.sshd2</string>
        <dict>
                <dict>
                        <key>SockServiceName</key>
                        <string>9999</string>
                </dict>
        </dict>
</dict>
</plist>

という感じです。

次に新しい ssh2.plist を load し、また忘れずに既定の ssh.plist を unload します。

sudo launchctl load -w /Library/LaunchDaemons/ssh2.plist
sudo launchctl unload -w /System/Library/LaunchDaemons/ssh.plist

SSH のパスワード認証無効化

また、同様に忘れてならないのが sshd のパスワード認証を無効にする設定です。

これは /etc/ssh/sshd_config を編集すれば OK です。

PasswordAuthentication no
ChallengeResponseAuthentication no

接続試験

最後に接続確認をします。

# 22 番ポートで接続できないことを確認
$ ssh -p 22 myname@mymacbook
ssh: connect to host zodiac port 22: Connection refused

# 9999 番ポートでパスワード認証が無効であることを確認
$ ssh -p 9999 test@mymacbook
Permission denied (publickey).

# 9999 番ポートで公開鍵認証で外部から接続できることを確認
$ ssh -p 9999 myname@mymacbook
Last login: Thu Nov  3 09:46:30 2016 from xxx

以上です。

10
17
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
10
17