Debian: что такое разрешения / требования пользователя для scp с локального сервера на удаленный сервер

У меня есть две ЛВС с маршрутизаторами, туннелированными для связи с моими серверами Debian через Интернет. Это отлично работает. Я могу использовать SSH с сертификатами, чтобы не требовать пароль для подключения локального пользователя server1 (Том) к пользователю удаленного сервера (Гарри). Я запутался в настройке прав доступа к каталогу, владельца и групп в каталогах удаленного сервера, чтобы файлы scp переносились с моего сервера локальной сети на удаленный сервер без получения разрешения на отказ. Я мог бы еще больше усложнить этот вопрос, заявив, что в локальной сети есть 3 сервера и NAS, и я надеюсь автоматизировать это с помощью Perl и crontab. Хотя только основы в разъяснении этого были бы очень благодарны. Спасибо.

1 ответ

Файловая система Permission denied ошибка не имеет ничего общего с вашим SSH-соединением. Имеют значение только разрешения, предоставленные идентификаторам пользователей на каждом конце. Рассматривать:

$ whoami
tom
$ scp foo harry@remote:bar
  • пользователь tom должен уметь читать путь foo,

    • Вы можете проверить это без использования scp - просто попробуйте прочитать файл foo,
  • пользователь harry должен быть в состоянии написать путь bar на remote,

    • Вы можете проверить это без использования scp - просто войдите в remoteкак harry и попробуйте написать файл bar (как harry).

Если один из вышеуказанных тестов не пройден, scp не удастся.

Например:

$ scp /etc/shadow harry@remote:bar
/etc/shadow: Permission denied

Локальный пользователь tom не могу прочитать /etc/shadow,

$ touch foo
$ scp foo harry@remote:/etc/shadow
scp: /etc/shadow: Permission denied

Удаленный пользователь harry не могу написать /etc/shadow,

Другие вопросы по тегам