debug1: Sending command: scp -v -d -t /tmp
[...]
debug2: exec request accepted on channel 0
SCP работает, открывая SSH-соединение с удаленным сервером, а затем вызывая там другую копию программы scp. Два экземпляра scp взаимодействуют друг с другом через ссылку SSH.
Согласно журналу, ваш клиент scp успешно подключился к серверу, прошел аутентификацию и запросил удаленный сервер для вызова scp
для получения файлов. Однако похоже, что удаленный экземпляр scp
на самом деле не запустился правильно. Одна из этих причин представляется вероятной:
В вашем.bashrc,.profile или аналогичном файле на удаленной системе есть что-то, что препятствует запуску scp. Удаленный сервер вызывает запрошенные команды, используя вашу оболочку входа в систему, запустив эквивалент $SHELL -c 'the-requested-command'
. Некоторые вещи, которые вы можете поместить в файлы конфигурации вашей оболочки, не позволят оболочке выполнить команду. Например, если ваш.bashrc выполняет другую оболочку, это помешает работе scp
.
Поскольку вы аутентифицировались с помощью ключа SSH, вероятно, у вас есть запись для ключа SSH в файле .ssh/authorized_keys
удаленной системы. Существует директива с именем ForceCommand
, которую можно поместить в авторизованный файл ключей _. Если ключ подвергается принудительной команде, то любой запрос клиента на запуск программы вызовет принудительную команду вместо команды, запрошенной клиентом.
Программа scp
в удаленной системе может работать со сбоями. Или, возможно, кто-то заменил его другой программой.