проблема с удаленным сервером scp

проблема с удаленным сервером scp

У меня есть доступ администратора к удаленному компьютеру с Debian Linux. Сначала все работало хорошо. Я попытался определить некоторые переменные глобально, чтобы все пользователи могли запускать определенный код. Теперь я не могу отправлять файлы scp на этот сервер. Когда я запускаю команду scp, она говорит:

bash: scp: command not found
lost connection

scpдоступен как на моем локальном ПК, так и на сервере. Я могу подключиться к удаленному компьютеру с помощью ssh. но когда я подключаюсь, он говорит:

-bash: id: command not found
-bash: [: : integer expression expected

но когда я запускаю эту команду:

which id

выходной сигнал:

/usr/bin/id

И я думаю, что путь к базовым кодам определен для системы. Также удаленный компьютер знает проход к scp и вывод в which scp:

/usr/bin/scp

Все, что я помню о том, что я сделал, это создал файл в , /etc/profile.dа затем удалил его. Я также проверил и убедился, что нет неправильных спецификаций PATH в ~/.bashrc, ~/.profileи /etc/profile.

Кто-нибудь знает, что не так с удаленным компьютером?

решение1

Вы можете использовать следующую команду, чтобы проверить, имеет ли пользователь доступ к scpкоманде или нет:

echo $PATH

Пример вывода:

/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin

Это отобразит пути команд, к которым у пользователя есть доступ.

Предположим, если вы проверяете scpкоманду, scpкоманда будет расположена в /usr/bin/. Если вывод echo $PATHне содержит /usr/bin/, то отображается сообщение «команда не найдена».

Чтобы устранить проблему, выполните

export PATH=$PATH:/usr/bin/

Для постоянных изменений добавьте указанное выше в свой.bash_profile

решение2

В вашем файле есть ошибка .bashrc. Используйте следующую команду для восстановления версии по умолчанию, а затем переподключитесь.

$ cp /etc/skel/.bashrc ~/

решение3

Проблема решена. Я добавил неправильное определение PATH в /etc/environment. Исправление этой ошибки решило проблему.

Связанный контент