Home

MacへSSH接続時に 'Operation Not Permitted' エラーを修正

Updated on 2025年5月19日月曜日

iBoysoft author JackYamamoto

Written by

JackYamamoto
Professional tech editor

Approved by

Jessica Shee

やまと English Français Deutsch Español Português Türkçe

 MacへSSH接続時の "ls: Operation not permitted" を修正するためのクイックフィックス:


1. Terminal、sshd-keygen-wrapper、およびsshdに完全なディスクアクセスを許可
Appleメニュー > システム環境設定 > プライバシーとセキュリティ > 完全ディスクアクセスに移動し、3つのプログラムに完全ディスクアクセスを有効にします。

 

2. rootとして別のMacにSSHで切り替える

lsコマンドをsudoで実行

 

3. 'リモートログイン'を再度有効にする

システム環境設定 > 一般 > 共有で、リモートログインをオフにしてから再度オンにします。

 

4. SIPを無効にする

macOSリカバリモードに入り、ユーティリティ > ターミナルを開き、csrutil disableと入力します。

SSH(Secure Shell)を使用して他のMacに安全に接続し、特定のディレクトリの内容をリストするためにlsコマンドを実行した後、ターミナルで "ls: Operation not permitted" エラーが表示される場合があります。

このエラーは、対象のフォルダにアクセスする権限がないことを示しています。これは、SSH接続のバグ、ユーザー権限の制限、またはシステムからの制限のいずれかによるものです。

SSHで別のmacOSに接続した後のlsコマンドでのエラー "Operation not permitted" を解決するには、以下のトリックに従ってトラブルシューティングを行います。

operation not permitted ls SSH into macOS

Terminal、sshd-keygen-wrapper、およびsshdに完全なディスクアクセスを許可

macOSにSSHで接続した際にlsを実行したり特定のディレクトリにアクセスしようとした際に "Operation not permitted"エラーが発生する場合、通常はmacOSのTCC(透過性、同意、および制御)保護によるものです。

Terminal、sshd-keygen-wrapper、およびsshdに完全なディスクアクセスを許可することで、これらのTCC制限をバイパスし、SSH接続されたMacの保護された領域へのアクセスを可能にします。

  1. Appleメニュー > システム環境設定 > プライバシーとセキュリティ > 完全ディスクアクセスをクリックします。
    open Full Disk Access
  2. Terminalとsshd-keygen-wrapperを有効にします。
  3. 追加ボタン(+)をクリックします。
  4. ポップアップで、ロケーションの下にmacOS(またはMacintosh HD)を選択し、隠しusrフォルダを表示するために Command - Shift - .(ドットキー)を押します。
  5. sbimフォルダの中にあるsshdを見つけ、開いてFull Disk Accessリストに追加します。
    注意:usrフォルダのパスは /usr/sbin/sshd です。
    add sshd to Full Disk Access list
  6. SSHをそこでオンにします。
    enable Full Disk Access SSH and Terminal

ターミナル、sshd-keygen-wrapper、およびsshdにフルディスクアクセスを許可した後、ls操作が許可されていないエラーが発生するかどうかを確認してください。

この「ls:操作が許可されていません」エラーを修正する裏ワザを他の人と共有してください。

 

他のMacにrootとしてSSHするに切り替える

Macのセキュリティ保護が向上したため、通常のユーザーでもSSHアクセスを持っていても全権限を持っていない場合があります。そのため、フォルダのファイルを表示するためにlsコマンドを使用するときは、sudo ls /target-directoryコマンドを実行するように変更してください。

問題が解決しない場合は、次の方法を試してください。

「リモートログイン」を共有設定で再有効にする

共有設定の「リモートログイン」機能を有効にすると、Mac上のSSHサーバーが別のMacと安全な接続を確立できます。

macOSにSSH接続した後に「ls:操作が許可されていません」エラーが発生した場合、「リモートログイン」を再有効にすることで、SSHサーバー(sshd)を再起動し、SSHサーバーで発生する可能性のあるエラーを排除できるかもしれません。

  1. Appleメニュー>システム設定>一般>共有に移動します。
    共有設定を開く
  2. 「リモートログイン」を見つけます。
  3. 「リモートログイン」を無効にしてしばらくしてから再度有効にします。
    リモートログインを再有効に

SIPを無効にする

M1 Macや他のMacにSSHで接続する際に「ls:操作が許可されていません」と表示される場合は、SIPを無効にすることを検討してください。現代のMacでは、セキュリティ保護が大幅に向上しています。SIPはリモートでバイパスできません。そのため、MacにSSHで接続した後lsを使用してディレクトリの内容を確認するために一時的にSIPを無効にしてみてください。

  1. Macをリカバリモードで起動します。
    IntelベースのMacでは、Command - Shift - Rを押しながらデバイスを再起動してAppleロゴまたは回転する地球が表示されるまで押します。
    Apple Silicon Macでは、Macをオフにし、電源ボタン(Touch ID)を押して起動オプションが表示されたら、選択してOptions>続行を選択します。
  2. 上部メニューバーのユーティリティをクリック>ターミナル。
    リカバリモードでターミナルを開く
  3. 次のコマンドを入力します。 csrutil disable
  4. ターミナルを終了してMacを再起動します。

他のMacにSSH接続した後は、macOSリカバリモードでコマンド-csrutil enableを使用してSIPを有効にすることを忘れないでください。

この投稿があなたのmacOSへのSSH接続時の「ls:操作が許可されていません」エラーの解決に役立つ場合は、他の人と共有してください。