Tengo acceso de administrador a una computadora remota con Debian Linux. Al principio todo funcionaba bien. Intenté definir algunas variables globalmente para que todos los usuarios puedan ejecutar un código específico. Ahora no puedo enviar archivos a ese servidor. cuando ejecuto el comando scp dice:
bash: scp: command not found
lost connection
scp
está disponible tanto en mi PC local como en el servidor. Puedo conectarme a la computadora remota usando ssh. pero cuando me conecto dice:
-bash: id: command not found
-bash: [: : integer expression expected
pero cuando ejecuto este comando:
which id
la salida es:
/usr/bin/id
Y creo que el camino hacia los códigos básicos está definido para el sistema. Además, la computadora remota conoce el paso a scp y la salida which scp
es:
/usr/bin/scp
Todo lo que recuerdo de lo que hice es crear un archivo /etc/profile.d
y luego lo eliminé. También verifiqué y me aseguré de que no haya especificaciones de RUTA incorrectas en ~/.bashrc
, ~/.profile
y /etc/profile
.
¿Alguien sabe qué le pasa a la computadora remota?
Respuesta1
Puede utilizar el siguiente comando a continuación para verificar si el usuario tiene acceso al scp
comando o no:
echo $PATH
Salida de ejemplo:
/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin
Esto mostrará las rutas de comandos a las que el usuario tiene acceso.
Supongamos que si está buscando scp
un comando, scp
el comando estará ubicado en /usr/bin/
. Si la salida de echo $PATH
no contiene /usr/bin/
, muestra el mensaje "comando no encontrado".
Para solucionar el problema ejecute
export PATH=$PATH:/usr/bin/
Para cambios permanentes agregue lo anterior a su.bash_profile
Respuesta2
Hay un error en su .bashrc
archivo. Utilice el siguiente comando para restaurar la versión predeterminada y luego volver a conectarse.
$ cp /etc/skel/.bashrc ~/
Respuesta3
Problema resuelto. Me agregaron una definición de RUTA incorrecta en /etc/environment
. corregir ese error resolvió el problema.