Вопрос Как перенести файлы из UNIX в Windows?


Я хочу передать файл с сервера UNIX на сервер Windows 2003 Server, поэтому я загрузил copssh на сервер Windows и openssh уже установлен на сервере UNIX.

Когда я выполняю следующую команду (на сервере UNIX):

scp -r /file_in_unix/ user@windows_hostname:\c:\\\

Появится следующий вывод (на экране сервера UNIX):

100% |***************************************************************|   562       00:00

Однако, когда я иду посмотреть файл в C диск на сервере Windows, я ничего не нахожу. Почему файл не отображается?


4
2017-10-04 10:12


происхождения


Вы использовали функцию поиска Windows для поиска скопированного файла? Может быть, он есть, но не в том месте, где вы смотрите? - Olfan


ответы:


Путь назначения выглядит неправильно - для большинства оболочек unix обратная косая черта - это escape-символ, а не маркер пути, поэтому я предполагаю, что файл попал в домашний каталог пользователя SSH с нечетным именем файла.

IIRC copssh основан на cygwin, поэтому вам, вероятно, нужно было запустить:

scp -r /file_in_unix/ user@windows_hostname:/cygdrive/c/

Альтернативой копированию на службу SSH на машине Windows является использование GUI-клиента, например WinSCP в окне Windows, чтобы войти в систему Unix и вытащить файлы по этому пути - хотя это не подходит, если вы пытаетесь автоматизировать процесс.

Если у вас есть привилегированный доступ на машине unix (т. Е. Вы или можете стать с помощью sudo или аналогичного корня) и установите соответствующую поддержку, вы можете просто скопировать файлы на общий ресурс Windows. Вы не говорите, какой Unix вы используете. Для Ubuntu и аналогичной проверки наличия поддержки и ее установки, если это невозможно сделать с помощью sudo aptitude install smbfs, вы можете смонтировать долю Windwos с чем-то вроде sudo mount -tcifs //11.22.33.44//sharename /mnt/tmp -ousername=WindowsUserName (где 11.22.33.44 - IP-адрес машины Windows, в зависимости от вашей настройки сети вы можете обращаться к машине по имени, а не по адресу). Как только вы это сделаете, вы можете просто использовать основные инструменты управления файлами (cp, mv, ...) для взаимодействия с общим ресурсом Windows и вызовом umount /mnt/tmp когда вы закончите. Возможно, вы захотите выбрать более значимое имя точки монтирования, чем / mnt / tmp. Вы можете оставить установленную долю, конечно, если передача данных должна быть автоматизирована / запланирована. Этот метод предполагает, что машина Unix может видеть файлы файлов Windows в Windows через любые механизмы межсетевого экрана, которые могут существовать между ними.


9
2017-10-04 11:08



CopSSH, который упоминается в этом вопросе, основан на порту Cygwin OpenSSH, поэтому я ожидаю, что он будет вести себя почти одинаково. Для других реализаций SSH / SFTP / SCP вам может потребоваться использовать имена дисков стилей Windows и разделители путей, и в этом случае для команды в вопросе, вероятно, потребуется немного дополнительного экранирования, чтобы эти символы не интерпретировались оболочкой, а не передавались в другая сторона. - David Spillett


Вы также можете сделать это наоборот и вытащить файлы со стороны Windows, а не нажимать на стороне Unix. Посмотрите на такие инструменты, как WinSCP который представляет собой графический инструмент для передачи файлов SCP, предоставляя вам выбор между Windows Explorer или Norton Commander, который должен быть интуитивным для вас. После входа в систему вы можете перейти к файлам, представляющим интерес «путь к Windows», и перетащить их туда, где вы хотите.


2
2017-10-06 14:14





использование WinSCP инструмент. Работает как шарм.


2
2017-12-11 19:48





Я просто сделал это, с сервера Linux, на сервер Windows и проверил его.

scp test.txt someguy @ someserver: / tmp /

/ tmp находится на диске C Windows Server. Это не нравилось с C, поэтому я бросил его, и это сработало.


1
2017-12-11 19:31





Почему бы не установить Samba в коробке Unix? Затем вы можете сопоставлять диски между двумя системами. В качестве альтернативы, я бы использовал psftp (из пакета putty), а не в командной строке scp, так как вы не знакомы с ним и, по-видимому, не нуждаетесь в его скрипте.


-1
2017-10-04 12:21



Samba - большой риск для безопасности. При обнаружении Samba происходит много случаев кражи файлов. - Sun
Что вы подразумеваете под «воровством»? - CarlF
cvedetails.com/vendor/102/Samba.html - Sun
@Sun Windows имеет еще больше уязвимостей, поэтому на самом деле Microsoft должна выпускать ежемесячные обновления. Иногда более 12 в месяц. Самба не является по своей сути более уязвимой, поскольку они говорят на основе протокола Microsoft. Пока вы его защищаете, самба не должна быть проблемой. Вы всегда можете вырезать и вставлять файл из окон в другой том, тогда общий ресурс будет пустым. - cybernard