SSH の背後で Mac の画面共有を保護する

重要:この変更を行う前に SSH の設定を完了してください
この設定により、すべての画面共有接続で SSH の使用が必須になり、同じローカルネットワーク上のデバイスからの接続も含まれます。

有効にすると、macOS は Mac 自身(localhost)からの直接の画面共有(VNC)接続のみを受け付けます。そのため、インターネット、VPN、またはローカルネットワークから発信された他のデバイスからの直接 VNC 接続は機能しなくなります。

続行する前に、Mac で Remote Login が有効になっていること、また Screens が以下の説明どおり Enable on Local Connections を含む Secure Connections を使用するように設定されていることを確認してください。そうしないと、Screens は接続できません。

macOS 10.12 Sierra 以降では、macOS を設定して、内蔵の Screen Sharing サービスが Mac 自身(localhost)からの接続のみを受け付けるようにできます。これにより、同じローカルネットワーク上のデバイスを含め、他のデバイスが Screen Sharing(VNC)サービスへ直接接続することを防げます。

Screens は、まず Mac への SSH 接続を確立し、その SSH 経由で Screen Sharing 接続をトンネルすることで、引き続き接続できます。その結果、その Mac へのすべての Screens 接続で SSH が必須となり、ローカル接続も含まれます。

はじめる前に

この変更を行った後は直接の Screen Sharing 接続が受け付けられなくなるため、Mac で Remote Login(SSH)を有効にしておく必要があります。

  1. システム設定を開きます。
  2. 一般 > 共有 に移動します。
  3. Remote Login を有効にします。
  4. Mac のユーザーアカウントにアクセス権が付与されていることを確認します。

また、下記の説明に従って、インストールされている場合は Screens と Screens Connect も安全な接続を使用するように設定する必要があります。

Screens を設定する

Screen Sharing をローカル接続のみに制限する前に、Screens で保存済みの接続を編集し、Security セクションを開きます。

Secure Connections を有効にし、Enable on Local Connections もオンになっていることを確認します。

これは重要です。Screen Sharing がローカル接続のみに制限されると、デバイスが Mac と同じローカルネットワーク上にある場合でも、Screens は SSH を使用しなければなりません。

Screens Connect を設定する

Screens Connect を使用している場合は、設定を開き、General を選択して、Use Remote Login を有効にします。

これにより、Screens Connect は Screen Sharing サービスへ直接接続する代わりに、SSH を使用するようリモート接続を構成します。

Screen Sharing をローカル接続のみに制限する

Remote Login と上記の SSH オプションを設定したら、Mac で Terminal を開き、次を入力します。

sudo defaults write /Library/Preferences/com.apple.RemoteManagement.plist VNCOnlyLocalConnections -bool yes

プロンプトが表示されたら、Mac のユーザーアカウントのパスワードを入力します。

VNCOnlyLocalConnections 設定により、macOS Screen Sharing は localhost からの直接 VNC 接続のみを受け付けるようになります。

つまり、以下のとおりです。

変更を元に戻す

macOS Screen Sharing が再びネットワーク接続を直接受け付けるようにしたい場合は、Terminal を開いて次を入力します。

sudo defaults write /Library/Preferences/com.apple.RemoteManagement.plist VNCOnlyLocalConnections -bool no

再度接続を試みる前に、macOS が変更を適用するまで数秒待ってください。

変更が有効になると、Screens は再びローカルネットワークや VPN 経由を含め、SSH トンネルを必要とせずに Screen Sharing(VNC)サービスへ直接接続できるようになります。

その後、安全な接続を使用し続けたくない場合は、Screens と Screens Connect の SSH 固有の設定を無効にできます。

重要: Screen Sharing が localhost のみに制限されると、デバイスが同じローカルネットワーク上にある場合や Mac が Nearby に表示される場合でも、Screens はこの Mac へのすべての接続で SSH を使用しなければなりません。

Enable on Local Connections がない場合、ローカル接続は VNC サービスへ直接接続しようとして失敗します。

まだお困りですか?

メールを送信