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