Como solucionar problemas de conexão com minha instância Linux do EC2 usando uma conexão SFTP?

4 minuto de leitura
0

Não consigo me conectar à minha instância Linux do Amazon Elastic Compute Cloud (Amazon EC2) usando uma conexão Secure File Transfer Protocol (SFTP). Ou Estou recebendo o erro “permissão negada de readdir remoto”. Como posso solucionar isso?

Breve descrição

Há vários motivos pelos quais a conexão com sua instância do EC2 por meio de uma conexão SFTP pode falhar. Estas são as etapas de solução de problemas comuns de conexão:

  • Verifique se sua instância atende aos pré-requisitos de conexão SSH.
  • Faça login na instância com mensagens detalhadas ativadas para identificar o erro.
  • Examine os logs de autenticação e do sistema em busca de erros.
  • Verifique se o arquivo de configuração SSHD tem o Subsistema para SFTP configurado.
  • Resolver um erro de Permissão negada de readdir remoto.

Resolução

Verifique se sua instância atende aos pré-requisitos de conexão SSH

O SFTP funciona em cima do SSH. Verifique se a instância atende a todos os pré-requisitos de conexão SSH. Para ver uma lista de pré-requisitos, consulte Conectar-se à sua instância do Linux usando SSH.

Faça login na instância com mensagens detalhadas ativadas para identificar o erro

Estas são mensagens de erro de conexão comuns:

  • Tempo limite da conexão ou Conexão recusada
  • Permissão negada ou Falha na autenticação
  • O servidor recusou nossa chave

Para informações sobre como fazer login em sua instância com mensagens detalhadas ativadas e como resolver esses e outros erros relacionados à conexão SSH, consulte Como solucionar problemas de conexão com minha instância do Linux do Amazon EC2 usando SSH?

Se você habilitou o Console de Série do EC2, poderá usá-lo para solucionar os tipos de instâncias baseados em Nitro compatíveis. O console serial ajuda você a solucionar problemas de inicialização, configuração de rede e problemas de configuração SSH. O console serial se conecta à sua instância sem a necessidade de uma conexão de rede ativa. Você pode acessar o console serial usando o console do Amazon EC2 ou a AWS Command Line Interface (AWS CLI).

Antes de usar o console serial, conceda acesso a ele no nível da conta. Crie políticas do AWS Identity and Access Management (IAM) que concedam acesso aos seus usuários do IAM. Além disso, todas as instâncias que usam o console serial devem incluir pelo menos um usuário baseado em senha. Para informações sobre como configurar o Console de Série do EC2 para Linux, consulte Configurar o acesso ao Console de Série do EC2.

Observação: se você receber erros ao executar comandos da AWS Command Line Interface (AWS CLI), certifique-se de estar usando a versão mais recente da AWS CLI.

Revise os logs de autenticação e do sistema em busca de erros

Log de autenticação RHEL e Fedora:

$ sudo less /var/log/secure

Logs genéricos do sistema RHEL e Fedora:

$ sudo less /var/log/messages

Log de autenticação do Debian e do Ubuntu:

$ sudo less /var/log/auth.log

Log genéricos do sistema do Debian e Ubuntu:

$ sudo less /var/log/syslog

Verifique se o arquivo de configuração SSHD tem o Subsistema para SFTP configurado

Verifique se o arquivo de configuração SSHD tem o subsistema para SFTP configurado e se o arquivo de objeto compartilhado para sftp-server existe no respectivo diretório. Se a conexão SFTP for fechada devido à falta de um subsistema SFTP, o log poderá mostrar que uma solicitação de subsistema falhou no erro do canal 0.

Distribuições baseadas em RHEL e Fedora:

$ sudo grep Subsystem /etc/ssh/sshd_config
Subsystem sftp    /usr/libexec/openssh/sftp-server
$ sudo ls -l /usr/libexec/openssh/sftp-server
-rwxr-xr-x. 1 root root 100784 Jun 26  2019 /usr/libexec/openssh/sftp-server

Distribuições baseadas em Debian e Ubuntu:

$ sudo grep Subsystem /etc/ssh/sshd_config
Subsystem    sftp    /usr/lib/openssh/sftp-server
$ sudo ls -l /usr/lib/openssh/sftp-server
-rwxr-xr-x 1 root root 105608 Mar  4  2019 /usr/lib/openssh/sftp-server

Para mais informações, consulte a seção Subsistema em sshd_config na página principal do Linux.

Resolver um erro de Permissão negada de readdir remoto

O erro Permissão negada de readdir remoto indica que o usuário que está tentando a conexão SFTP não tem as permissões corretas. O usuário deve, no mínimo, ter permissão de leitura e execução para mudar para um diretório de destino.

Use o comando a seguir para verificar se o usuário tem permissão para acessar o diretório de destino:

ls -ldZ /directory

Use o comando a seguir para verificar as permissões da lista de controle de acesso (ACL) que restringem o acesso do usuário:

getfacl /directory

Use o comando a seguir para verificar se o SELinux está habilitado:

getenforce

Se o SELinux estiver habilitado, revise /var/log/audit/audit.log ou /var/log/audit.log para ver se há erros de permissão negada com base no contexto do SELinux.


AWS OFICIAL
AWS OFICIALAtualizada há 3 anos