Вопрос или проблема
Я пытаюсь изучить некоторые аспекты сетей и Linux!
У меня есть два сервера: один – это чистый сервер TrueNAS, а второй – сервер Ubuntu 22.04. Я пытаюсь скопировать файлы из папки TrueNAS в локальной сети, называемой: Magazzino_informatico
, на мой сервер Ubuntu, используя эту команду:
jonny@linux:~/backup$ scp [email protected]: \\TRUENAS/Magazzino_Informatico/prova_bkp /
и я получил эту ошибку:
scp: download ./: not a regular file
cp: cannot stat '\TRUENAS/Magazzino_Informatico/prova_bkp': No such file or directory
Оставляю вам изображения моей сетевой папки и директорий.
Надеюсь, вы сможете мне помочь!
Формат для scp
, который вы пытаетесь использовать, такой:
scp user@host:/path/to/copy/from /path/to/copy/to
Вы используете:
scp [email protected]: \\TRUENAS/Magazzino_Informatico/prova_bkp /
Не следует использовать \\
, и там не должно быть пробела. Также не стоит загружать в корень (/
, эквивалент C:\
в Windows). Вероятно, вы хотели скопировать в текущую директорию, .
. Попробуйте:
scp [email protected]:/TRUENAS/Magazzino_Informatico/prova_bkp .
Ответ или решение
Конечно! Давайте разберем процесс копирования файла с сервера TrueNAS на сервер Ubuntu, используя более детальный и методический подход. Будем использовать принцип TEA (теория, пример, применение) для более глубокого понимания.
Теория
Протокол SCP
Secure Copy Protocol (SCP) — это способ безопасного передачи файлов между хостами в сети. SCP использует SSH (Secure Shell) для обеспечения шифрования данных, что делает его безопасным для передачи данных через незащищенные сети. Основной синтаксис команды SCP следующий:
scp [параметры] [источник] [назначение]
Где:
[параметры]
— это опции, которые задаются для изменения поведения SCP, такие как-r
для рекурсивного копирования.[источник]
— это путь к файлу или директории на локальной или удаленной машине.[назначение]
— это путь, куда будет скопирован файл или директория, также может быть как локальной, так и удаленной машиной.
Особенности работы в сетях
Когда мы работаем с сетями, важно правильно настраивать доступ между серверами. Это может потребовать настроек правил брандмауэра, корректной конфигурации SSH и правильных разрешений на файлы и директории.
Пример
Рассмотрим, как можно копировать файлы более подробно. Мы имеем два сервера: TrueNAS и Ubuntu 22.04. Основное требование — корректное использование команды SCP для копирования файлов с одного сервера на другой.
В вашем интерактивном примере приведена команда SCP, которая вызывает ошибки. Давайте разберемся почему:
-
Адреса и имена путей: В вашей команде использованы два знака
\\
для указания UNC-пути, что является неверным подходом в контексте Unix-систем, где используется/
. -
Назначение копирования: Команда пытается копировать файл в корневой каталог
/
, что требует прав суперпользователя и потенциально нежелательно. Приведу рекомендуемое исправление. -
Исправленная команда:
scp [email protected]_truenas:/Magazzino_informatico/prova_bkp ~/backup
Эта команда делает следующее:
- Использует одинарный
/
вместо двойного\\
для указания пути в системе на базе Unix. - Указывает относительный путь
~/backup
в домашнем каталоге пользователяjonny
на сервере Ubuntu для сохранения файла.
- Использует одинарный
Применение
Чтобы успешно выполнить копирование файлов с TrueNAS на Ubuntu, выполните следующие шаги:
-
Проверка SSH-доступа: Убедитесь, что сервер TrueNAS настроен на прием SSH-соединений. Проверьте, что на Ubuntu открыт порт по умолчанию 22 для SSH и настроены соответствующие правила фаервола.
-
Удостоверение в подлинности: Проверьте, что у вас есть корректные учетные данные (имя пользователя и пароль или файл ключа SSH) для подключения к TrueNAS.
-
Исправление путей: Как показано выше, используйте правильный синтаксис для указания пути. Убедитесь, что пути к файлам и директориям корректны и существуют на источнике.
-
Тестирование подключения: Используйте команду
ssh
для проверки возможности подключения к вашему серверу TrueNAS:ssh [email protected]_truenas
После успешного подключения можно увереннее пользоваться SCP.
-
Настройка прав: Убедитесь, что файлы и директории имеют корректные права доступа, позволяющие чтение/запись пользователю, от имени которого вы подключаетесь.
-
Корректная работа: Запустите исправленную команду SCP для копирования. Если возникают ошибки разрешений, подумайте о запуске с использованием
sudo
только в случае необходимости.
Этот метод даёт вам надежный процесс для копирования данных между серверами в локальной сети, уменьшает риск ошибок и обеспечивает безопасность данных за счет использования SSH-туннелирования. Если выполнять все шаги последовательно, вы сможете эффективно справляться с задачами передачи файлов в сетевых средах.