Corrigir o erro 'Operação não permitida' ao fazer SSH no Mac

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

 Soluções rápidas para "ls: Operação não permitida" ao fazer SSH no Mac:


1. Conceda Acesso Total ao Disco ao Terminal, sshd-keygen-wrapper e sshd
Menu Apple > Configurações do Sistema > Privacidade & Segurança > Acesso Total ao Disco, depois habilite o Acesso Total ao Disco para os três programas.

 

2. Faça o SSH em outro Mac como root

Rode o comando ls com sudo

 

3. Reative 'Login Remoto' em Compartilhamento

Configurações do Sistema > Geral > Compartilhamento, desative o Login Remoto e depois ative novamente.

 

4. Desative o SIP

Acesse a Recuperação do macOS > Utilitários > Terminal e digite csrutil disable

Depois de usar o SSH (Shell Seguro) para conectar de forma segura a outro Mac e rodar o comando ls para listar o conteúdo de um diretório específico, você só recebe o erro "ls: Operação não permitida" no Terminal.

Como indica, esse erro mostra que você não tem permissão para acessar a pasta de destino. Isso se deve a bugs na conexão SSH, restrições de permissão de usuário ou limites do sistema.

Para resolver o erro "Operação não permitida" com o comando ls após SSH em outro macOS, você pode seguir as dicas que listamos abaixo como uma solução de problemas.

Conceda Acesso Total ao Disco ao Terminal, sshd-keygen-wrapper e sshd

Quando você se depara com um erro de "Operação não permitida" ao rodar ls ou acessar certos diretórios via SSH no macOS, geralmente é devido à proteção TCC (Transparência, Consentimento e Controle) do macOS.

Conceder Acesso Total ao Disco ao Terminal, sshd-keygen-wrapper e sshd permite que eles burlar essas restrições do TCC, permitindo o acesso a áreas protegidas do Mac conectado via SSH.

  1. Clique no Menu Apple > Configurações do Sistema > Privacidade & Segurança > Acesso Total ao Disco.
  2. Habilite o Terminal e sshd-keygen-wrapper.
  3. Clique no botão adicionar (+).
  4. No pop-up, selecione macOS (ou Macintosh HD) em localizações, e pressione Command - Shift - . (a tecla ponto) para mostrar a pasta oculta usr.
  5. Encontre e selecione sshd na pasta sbin e clique em Abrir para adicioná-lo à lista de Acesso Total ao Disco.
    Nota: O caminho da pasta usr é /usr/sbin/sshd.
  6. Habilite o SSHD lá.

Depois de conceder Acesso Total ao Disco ao Terminal, sshd-keygen-wrapper e sshd, verifique se ocorre ou não o erro de operação ls não permitida.

Compartilhe esse truque para corrigir o erro "ls: Operação não permitida" com outras pessoas.

Alternar para SSH em outro Mac como root

Com a proteção de segurança aprimorada do Mac, seu usuário normal pode não ter permissão total mesmo com acesso SSH. Portanto, quando você usar o comando ls para visualizar os arquivos de uma pasta, mude para executar o comando sudo ls /diretório-alvo.

Se o problema persistir, tente o próximo método.

Reativar 'Login Remoto' em Compartilhamento

O recurso de Login Remoto nas configurações de Compartilhamento permite que o servidor SSH no seu Mac estabeleça uma conexão segura com outro Mac.

Quando o erro "ls: Operação não permitida" ocorre após o SSH no macOS, reativar o "Login Remoto" em Compartilhamento pode ser a solução, pois isso reiniciará o servidor SSH (sshd) e eliminará os possíveis erros no servidor SSH.

  1. Vá até o menu da Apple > Configurações do Sistema > Geral > Compartilhamento.
  2. Role para baixo para encontrar Login Remoto.
  3. Desative o Login Remoto e reative-o após um momento.

Desativar SIP

Se você ver "ls: Operação não permitida" ao fazer SSH em um Mac M1 ou outro Mac, você deve considerar desativar o SIP. Nos Macs modernos, a proteção de segurança é muito aprimorada. O SIP não pode ser contornado remotamente. Portanto, tente desabilitar temporariamente o SIP para que você possa usar ls para verificar o conteúdo do diretório após fazer SSH em um Mac.

  1. Inicie seu Mac no Modo de Recuperação.
    Em um Mac baseado em Intel, reinicie o dispositivo pressionando Command - Shift - R até que o logo da Apple ou globo giratório apareça.
    Em um Mac Apple Silicon, desligue o Mac, pressione o botão de energia (Touch ID) até que as opções de inicialização apareçam, selecione Opções > Continuar.
  2. Clique em Utilitários na barra de menu superior > Terminal.
  3. Insira o seguinte comando. csrutil disable
  4. Saia do Terminal e reinicie seu Mac.

Após fazer SSH em outro Mac, lembre-se de ativar o SIP com o comando - csrutil enable no Modo de Recuperação do macOS.

Se este post ajudou você a resolver "ls: Operação não permitida" ao fazer SSH no macOS, compartilhe com mais pessoas.