Este tópico apresenta uma solução para o problema de travamento que ocorre ao conectar-se a uma instância Linux do Elastic Compute Service (ECS) via SSH.
Descrição do problema
Após inserir o nome de usuário e a senha, ocorre um travamento antes de acessar o sistema. Durante esse período de travamento, pressione Ctrl+C para ignorar o travamento e acessar a instância.
Causas
Exceções ou atualizações nos seguintes arquivos podem causar o travamento, fazendo o sistema carregar variáveis de ambiente por um período prolongado:
Arquivo de configuração de variáveis de ambiente globais:
/etc/profileArquivos de configuração de variáveis de ambiente pessoais:
$HOME/.bash_profile$HOME/.bashrc
A variável de ambiente
$HOMEé definida automaticamente como o diretório inicial do usuário conectado. Por exemplo, o valor da variável de ambiente é/home/ecs-userpara o usuárioecs-usere/rootpara o usuárioroot.Para visualizar o valor de
$HOME, execute o comandoecho $HOMEno terminal.
Solução
Execute os comandos a seguir para visualizar os horários de modificação dos arquivos de configuração de variáveis de ambiente e verificar se foram atualizados recentemente:
ls -l $HOME/.bash_profile ls -l $HOME/.bashrc ls -l /etc/profileSe o horário de modificação de um arquivo for recente, ele pode ter sido atualizado recentemente. Recomendamos visualizar o conteúdo do arquivo.
Execute os comandos a seguir para visualizar o conteúdo dos arquivos e identificar o conteúdo anormal que pode causar o travamento:
cat $HOME/.bash_profile cat $HOME/.bashrc sudo cat /etc/profileSe um arquivo contiver scripts complexos como loops e instruções condicionais, requisições de rede como
curlewget, ou carregamento dinâmico de caminho comoexport PATH=$(some_command), prossiga para a próxima etapa.Se o conteúdo do arquivo for normal (por exemplo, se os arquivos contiverem apenas configurações simples de variáveis de ambiente), prossiga para a Etapa 7 para recarregar os arquivos.
Execute os comandos a seguir para abrir os arquivos de configuração de variáveis de ambiente.
Arquivos de configuração pessoais:
vi $HOME/.bash_profile vi $HOME/.bashrcArquivo de configuração global:
sudo vi /etc/profile
Comente o conteúdo atualizado.
Pressione a tecla
Ipara editar o conteúdo do arquivo e adicione um sinal de cerquilha (#) antes do conteúdo atualizado para comentá-lo. Exemplo:# export PATH=$PATH:/some/path # curl https://example.comPressione a tecla
Esc, digite:wqe pressione a teclaEnterpara salvar e sair dos arquivos de configuração.Execute os comandos a seguir para recarregar os arquivos de configuração e aplicar as variáveis de ambiente.
Arquivos de configuração pessoais:
source $HOME/.bash_profile source $HOME/.bashrcArquivo de configuração global:
Alterne para o usuário root.
sudo -iRecarregue o arquivo de configuração global.
source /etc/profileSaia do usuário root.
exit
Reconecte-se à instância ECS para verificar se o problema de travamento foi resolvido.
Descomente as linhas comentadas uma a uma para restaurá-las.
Cada vez que descomentar uma linha, repita a Etapa 7, recarregue o arquivo de configuração correspondente e reconecte-se à instância ECS para verificar se o problema de travamento reaparece.
Se o problema de travamento reaparecer após descomentar uma linha, o conteúdo dessa linha é a causa do problema. Otimizações ou soluções recomendadas:
Remova requisições de rede desnecessárias.
Otimize scripts complexos.
Modifique as configurações de carregamento dinâmico de caminho.