Используйте самбу .
Samba предоставляет сервис обмена файлами, совместимый с Windows.
Вы можете поделиться каталога (например /srv/samba/sharename
) на вашем Linux компьютер и получить доступ к нему из Windows , как это: \\linuxservername\sharename
. Это не требует дополнительного программного обеспечения на стороне Windows.
Samba включена в большинство дистрибутивов Linux. Установите его с помощью менеджера пакетов, например:
Чтобы настроить Samba, смотрите:
или поиск в Google, чтобы найти руководство для вашего дистрибутива.
Обратите внимание, что вам может потребоваться настроить брандмауэр Linux, если он используется, для приема соединений с портами 137 / tcp, 138 / tcp, 139 / tcp и 445 / tcp (см. Это и это ).
В приведенном выше описании компьютер с Linux является сервером Samba, и Windows монтирует с него общий ресурс.
В своем комментарии ниже вы упоминаете, что хотели бы автоматизировать процесс передачи . Это может быть достигнуто путем изменения ролей, так что Windows действует как сервер, а Linux подключается к нему с помощью smbclient
.
С smbclient
вами вообще не нужно монтировать общий ресурс Windows. Например, чтобы получить C:\Directory\file.txt
и скопировать его /tmp
на компьютер с Linux, сделайте следующее:
smbclient '//windowsserver/c$' -c 'lcd /tmp; cd Directory; get file.txt' -U administrator%password
-c
Команда для выполнения. Смотрите man smbclient
подробности.
-U
Имя пользователя и пароль для доступа к общему ресурсу, указанному как username%password
Измените его в соответствии со своими потребностями и добавьте в свой скрипт.
smbclient
для подключения к общей папке Windows, скопировать файл и отключиться. Я отредактировал свой ответ, посмотрите на него.-c
вариант стоит использовать в простых случаях. На моей машине пароль приходит в качестве пустого аргумента (без какой-либо опции). И кроме того - я предпочитаю хранить учетные данные вдали от читателей командной строки (используяps
или[h]top
, например), вызывая-U $(cat .username) $(cat .password)
.Я знаю, что вы сказали, что не можете ожидать установки определенного программного обеспечения, но есть клиенты SSH / SCP / SFTP для Windows, которые не требуют какой-либо конкретной установки; доступен только исполняемый файл. Я постоянно обращаюсь к PuTTY с его компаньоном
pscp
иpsftp
инструментами, но я уверен, что альтернативы существуют.pscp
иpsftp
могут полностью управляться из командной строки, и, таким образом, хорошо подходят для задач автоматизации. Оба они даже имеют-batch
переключатель, который описывается как «отключить все интерактивные запросы» и почти наверняка может быть использован.Поскольку у вас уже есть сервер SSH / SCP / SFTP, установленный и сконфигурированный на нем, это позволяет избежать необходимости устанавливать какое-либо программное обеспечение на каждом хосте только для копирования этих файлов.
Другим положительным моментом может быть тот факт, что PuTTY является открытым исходным кодом по разрешающей лицензии, поэтому, если она не выполняет то, что вы хотите прямо из коробки, должно быть относительно легко заставить ее действовать так, как вы предпочитаете.
источник
Я
CentOS 6
пользователь, поэтому я попробовал этот метод наCentOS 6
Установите самбу используя
Запрос подтверждения
Создать пользователя Samba.
Теперь создайте пароль samba для имени пользователя sambashare, используя команду smbpasswd.
Создайте общий каталог samba
изменить владельца для общей папки
Откройте файл
/etc/samba/smb.conf
и добавьте следующие строки.Запустить службу самбы
Проверьте свою конфигурацию с помощью
testparm
командыВ системе Windows введите это в
run
Теперь введите samba имя пользователя и пароль
Вы сделали
источник