Как серверные команды, настроенные в SSH author_keys, обрабатывают входящие данные?

debug1: Sending command: scp -v -d -t /tmp
[...]
debug2: exec request accepted on channel 0

SCP работает, открывая SSH-соединение с удаленным сервером, а затем вызывая там другую копию программы scp. Два экземпляра scp взаимодействуют друг с другом через ссылку SSH.

Согласно журналу, ваш клиент scp успешно подключился к серверу, прошел аутентификацию и запросил удаленный сервер для вызова scpдля получения файлов. Однако похоже, что удаленный экземпляр scpна самом деле не запустился правильно. Одна из этих причин представляется вероятной:

  1. В вашем.bashrc,.profile или аналогичном файле на удаленной системе есть что-то, что препятствует запуску scp. Удаленный сервер вызывает запрошенные команды, используя вашу оболочку входа в систему, запустив эквивалент $SHELL -c 'the-requested-command'. Некоторые вещи, которые вы можете поместить в файлы конфигурации вашей оболочки, не позволят оболочке выполнить команду. Например, если ваш.bashrc выполняет другую оболочку, это помешает работе scp.

  2. Поскольку вы аутентифицировались с помощью ключа SSH, вероятно, у вас есть запись для ключа SSH в файле .ssh/authorized_keysудаленной системы. Существует директива с именем ForceCommand, которую можно поместить в авторизованный файл ключей _. Если ключ подвергается принудительной команде, то любой запрос клиента на запуск программы вызовет принудительную команду вместо команды, запрошенной клиентом.

  3. Программа scpв удаленной системе может работать со сбоями. Или, возможно, кто-то заменил его другой программой.

0
11.02.2020, 05:39
0 ответов

Теги

Похожие вопросы