Tenho acesso de administrador a um computador remoto com Debian Linux. No começo tudo estava funcionando bem. Tentei definir algumas variáveis globalmente para que todos os usuários possam executar um código específico. Agora não consigo enviar arquivos para esse servidor. quando executo o comando scp ele diz:
bash: scp: command not found
lost connection
scp
está disponível no meu PC local e no servidor. Posso me conectar ao computador remoto usando ssh. mas quando eu conecto ele diz:
-bash: id: command not found
-bash: [: : integer expression expected
mas quando executo este comando:
which id
a saída é:
/usr/bin/id
E acho que o caminho para os códigos básicos está definido para o sistema. Além disso, o computador remoto conhece a passagem para scp e a saída which scp
é:
/usr/bin/scp
Tudo que me lembro do que fiz foi criar um arquivo /etc/profile.d
e depois excluí esse arquivo. Também verifiquei e tive certeza de que não há especificações PATH erradas em ~/.bashrc
, ~/.profile
e /etc/profile
.
Alguém sabe o que há de errado com o computador remoto?
Responder1
Você pode usar o seguinte comando abaixo para verificar se o usuário tem acesso ao scp
comando ou não:
echo $PATH
Exemplo de saída:
/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin
Isso exibirá os caminhos dos comandos aos quais o usuário tem acesso.
Suponha que se você estiver verificando o scp
comando, scp
o comando estará localizado em /usr/bin/
. Se a saída de echo $PATH
não contiver /usr/bin/
, será exibida a mensagem "comando não encontrado".
Para corrigir o problema, execute
export PATH=$PATH:/usr/bin/
Para alterações permanentes, adicione o acima ao seu.bash_profile
Responder2
Há um erro no seu .bashrc
arquivo. Use o seguinte comando para restaurar a versão padrão e reconectar.
$ cp /etc/skel/.bashrc ~/
Responder3
Problema resolvido. Foi adicionada uma definição PATH errada no arquivo /etc/environment
. corrigir esse erro resolveu o problema.