Тарифы Услуги Сим-карты

Работа с программой winscp. Настраиваем WinSCP. Запускаем программу и подключаемся к серверу

Сейчас практически весь софт становится максимально «нашпигованным» и «привлекательным», что даже можно проводить конкурсы на тему «найдите 5 отличий между Chrome и Firefox». Мы все это к тому, что одновременно простой, надежный и узконаправленный софт актуален как никогда.

Для работы с ftp многие используют всеми известный Total Commander, способный работать в качестве файлового менеджера и ftp клиента. В плане работы с файлами к Тотал Коммандеру сложно придраться, но вот при работе с ftp и ssh нарекания есть. Например, временный файл отправляется на сервер только тогда, когда он будет закрыт в редакторе; то есть, при редактировании, например, css-файла и внесения изменений на сайте, необходимо закрыть его и только тогда смотреть на изменения, а чтобы продолжить внесение изменений нужно вновь открывать этот файл. Не очень-то и удобно.

Total Commander также закрывает сессию ftp через определённое время бездействия. Не знаем точно, но, похоже, что пакетов для поддержания соединения Тотал Коммандер не отправляет, поэтому при работе приходится постоянно переподключаться из-за разрывов соединения. Да и к слову, ftp далеко не самый лучший протокол для передачи данных, поэтому если сервер позволяет, то лучше использовать ssh; работать рекомендовано под протоколом ssh-2 в силу его повышенной безопасности.

Но все же Total Commander имеет жирный плюсик: все его настройки хранятся в закрытом ini-файле, который можно таскать с одного компьютера на другой и таким образом активировать свои настройки. Но теперь мы бы хотели поговорить о программе WinSCP, которая имеет ряд преимуществ перед Тотал Коммандером при работе с ftp и ssh (в конце материала рассмотрим возможность работы программы под sudo).

Что такое WinSCP

WinSCP – графическая оболочка-клиент SFTP для множества операционных систем, включая Windows, имеющая исходный открытый код. WinSCP также поддерживает старый протокол передачи данных SCP, что в общем-то понятно из названия программы.

Главное предназначение программы – передача в защищенном режиме файлов между компьютерами и серверами, «дружащие» с этими протоколами.

Программа постоянно подвергается обновлениям, а получить всегда свежую версию на английском можно по URL: https://winscp.net/eng/download.php . К слову, пользоваться утилитой – одно удовольствие.

Чтобы инсталлировать русскую версию, необходимо выбрать пункт «Multilanguage Installation package» и в начале установки пакета выбрать «Russian» из представленного пакета языков. Даже если на момент скачивания последней версии перевод не будет доведен до ума, то тогда его придется скачивать дополнительно. Чтобы это сделать (уже после установки english version), перейдите на страницу «Перевод», скачайте перевод «Russian», после чего распакуйте полученный архив в каталог с утилитой WinSCP.

Возможности программы WinSCP:

  • графический интерфейс;
  • программа переведена на множество языков, включая русский;
  • интеграция с Windows;
  • выполнение всех ключевых файловых операций;
  • поддержка протоколов SFTP и SCP помимо SSH-1 и SSH-2;
  • автоматизация процессов при помощи использования интерфейса командная строка и скриптов;
  • есть текстовый редактор;
  • авторизация по паролю, GSS, Поддержка открытого ключа;
  • реализовано две оболочки – как в Norton Commander и Windows Explorer;
  • настройки соединений можно сохранять;
  • можно использовать файл конфига вместо реестра.

Остановимся немного на интерфейсе. При открытии программы перед вами появится двухоконный интерфейс, который вы могли видеть в Total Commander и ему подобных программах. При открытии также придется выбрать сервер ля соединениия, ведь в оффлайн режиме программа работать отказывается. Также можно выбрать и интерфейс Explorer, и тогда окно будет разделено надвое: с левой стороны будет показано древо каталогов, а справой стороны список файлов и папок определённого каталога.

Если нажать Ctrl+N, то отобразится окно с выбором сервера подключения. После выбора подключения новая сессия отобразится в выпадающем меню вверху программы. Теперь вы сможете переключаться между сессиями просто выбирая нужную из списка. Чтобы получить возможность редактировать текстовые файлы, необходимо указать любой сторонний редактор – например, Dreamweawer или HTMLpad.

В отличие от того же Total Commander, программа WinSCP способна поддерживать сессию в рабочем состоянии, ведь каждые 50 секунд программа отправляет на сервер пакет, что и предотвращает закрытие сессии. Это будет очень полезно для тех, кто работает с множеством соединений (подключаться по несколько раз теперь не придется).

Если открыть файл в WinSCP, то будет создана копия во временном файле, а при изменении этого временного файла все изменения будут закачаны на сервер. То есть если изменить стандартную надпись «Lorem ipsum» на «Добро пожаловать» и сохранить внесенные изменения, то сразу же после обновления страницы изменения будут видны на сайте. Также хорошо реализована работа с несколькими открытыми файлами, даже при работе с разных ftp-аккаунтов: их версии также будут сразу же загружаться на сервер.

Как уже упоминали выше, программа имеет открытый исходный код, поэтому полностью бесплатна. Скачать ее можно в инсталляторе и в переносной версии.

Работа с Sudo

Чтобы получить дополнительные привилегии в WinSCP, программу можно запускать с указанием команды sudo при указании в поле SFTP server пути к SFTP серверу. В зависимости от операционки путь может различаться, но в Ubuntu, например, это будет так: sudo /usr/lib/openssh/sftp-server
Чтобы юзер мог выполнять команду sudo без ввода пароля, необходимо внести изменения в файл /etc/sudoers и добавить в конец строки: имя_пользователя ALL=NOPASSWD: /usr/lib/openssh/sftp-server
Теперь вы знаете, как работать с программой при использовании sudo.

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

Долгое время я пользовался Filezilla, по праву считающейся лидером среди ФТП-менеджеров. Пользовался до тех пор, пока все мои сайты и сайты моих клиентов не оказались зараженными вирусом - в файлы javascript был внедрен вредоносный код. Анализ ситуации показал, что произошла утечка паролей протокола ФТП и сайты были заражены именно таким путем - на одном из компьютеров сети был найден вирус-троян, который, вероятно, и украл пароли, использованные впоследствии для заражения. Стандартная ситуация, в общем-то.

После очистки сайтов я полез в интернет и выяснил некоторые неприятные подробности - Filezilla хранит пароли в открытом, незашифрованном виде в файле sitemanager.xml (см. скриншот, строка Pass).

Можно долго и бесполезно рассуждать, что нельзя запоминать пароли в ФТП-менеджерах, но все мы люди и запомнить множество паролей не в силах никто. Также бесполезны будут рассуждения о надежной защите компьютера - нет антивируса, который защитит от всех вирусов.

Создавшаяся ситуация заставила меня, как вы поняли, искать другой ФТП-менеджер и полдня поиска, тестов и несколько последующих недель работы привели к убеждению, что WinSCP - это то, что нужно. Причины следующие:

  • Во-первых пароли хранятся в кодированном виде в файле или системном реестре на выбор.
  • Во-вторых, есть опция не сохранять пароли.
  • В-третьих, интерфейс и работа с файлами показались мне более удобными, чем в других программах, но это, понятно, субъективные ощущения.
  • И, наконец, WinSCP бесплатна и использовать ее можно где угодно.

К недостатком WinSCP можно отнести более сложную настройку - что ни говори, а Filezilla интуитивно более понятна. Если вы зарабатываете с файлообменниками, то Filezilla вполне подойдет, в случае же работы по ФТП с сайтами, стоит подумать об использовании WinSCP. Если вы решить попробовать поработать с ней, то предлагаемая инструкция по настройке WinSCP сэкономит вам энное количество времени.

Для начинающих: FTP (ФТП) - File Transfer Protocol (протокол передачи файлов). Говоря проще, это способ обмена файлами с сервером. Полное описание можно найти на Википедии , вдаваться в подробности не будем. Отметим лишь, что для установки соединения нужны следующие атрибуты, называемые в разных программах по-разному:

  • Имя ФТП сервера. Может называться: «Имя ФТП хоста» или просто «Сервер»
  • Имя пользователя. Может называется: «Логин», «Пользователь» или «Имя аккаунта»
  • Пароль

Если у вас есть вышеперечисленные атрибуты, то можно приступить к установке WinSCP.

Загрузка и установка WinSCP

Идем на страницу загрузки WinSCP . Если вы приверженец переносимых (portable) программ, то загрузить такую версию сможете, пройдя по ссылке «Portable executables».

После загрузке полной версии WinSCP, устанавливаем ее, запустив загруженный exe-файл. Установка проста, но русского языка в пакете нет, поэтому можете не искать его в выпадающем списке - русскую локализацию загрузим позже. Дойдя до шага с подтверждением, отмечаем «I accept the agreement» и жмем «Next» до конца установки, ничего не трогая - все что предлагается, можно потом изменить в самой программе.

Если вы загрузили портативную версию, то архив нужно распаковать в любое место, после этого программа будет готова к работе.

Теперь идем качать русский язык. Запускаем WinSCP.exe, жмем на кнопке «Languages», затем на «Get More».

Открывшуюся страницу прокручиваем почти до конца, найдя русскую локализацию WinSCP, загружаем ее. В архиве ru.zip находится файл WinSCP.ru, который кладем в папку, где установлена программа. Перезапускаем WinSCP, снова жмем кнопку «Languages» и выбираем русский язык. Теперь можно начинать работу и настройку WinSCP.

Настройки WinSCP и начало работы

На первом запуске программа откроет окно, где нужно ввести атрибуты соединения, чем мы и займемся. Настройки приводятся для обычного, незашифрованного (не путать с шифрованием паролей) соединения, которое используется в большинстве случаев.

В списке «Файловый протокол» выбираем «FTP», в списке «Encryption» (шифрование) ставим «Без шифрования». В поля «Сервер», «Имя пользователя» и «Пароль» вводим атрибуты, о которых мы говорили в начале статьи, предполагая, что они у вас есть. Жмем кнопку «Сохранить».

Мы подошли к ключевому моменту - после ввода удобного вам имени соединения, нужно определиться, будет ли пароль храниться в WinSCP. По умолчанию программа хранит настройки и пароли в системном реестре, при желании их можно хранить в папке с программой. В любом случае они хранятся в закодированном виде, но считается, что из системного реестра их похитить труднее. Абсолютную надежность дает вариант, при котором пароль не хранится вообще и его нужно вводить каждый раз при установке соединения. Убрав выделение чекбокса «Save password (not recommended)», что в переводе значит «Сохранить пароль (не рекомендуется)» вы и выберете последний, самый безопасный вариант.

У меня выбраны такие варианты: дома, где комп хорошо защищен, пароли я все же сохраняю. На работе, где с компьютером могут работать другие люди, а клиенты приносят на флешках вирусы, для особо важных соединений пароли не сохранены.

Теперь можно установить соединение, Жмем «Войти». Появится модальное окно со статусом соединения, которое через несколько секунд исчезнет. Если выбрана опция несохранения паролей, то в этом окошке потребуется ввести пароль. В случае возникновения ошибок соединения, нужно отменить его и проверить введенные данные, выделив строку с именем соединения и нажав кнопку «Редактировать».

После исправления ошибок сначала сохраните настройки под тем же именем, а уже потом соединяйтесь.

Итак, соединение установлено, в левой части файлы компьютера, в правой сервера. Интерфейс обычный для программ ФТП, описывать его подробно нет смысла, остановимся лишь на главном.

Навигации помогают панели (см. скриншот ниже), расположенные над каждой частью, на которых можно при помощи выпадающего списка перейти в любой вышестоящий каталог. Нажав иконку в правой части панельки, мы включим отображение дерева папок, еще более облегчающее перемещение по каталогам.

В нижней части окна WinSCP находится панель, на которой можно произвести стандартные действия с файлами и папками - их создание, удаление, получения свойств и т.д.

Чтобы скопировать файл, перетягиваем его из окна компьютера в окно сервера, как перетягиваются файлы в проводнике Виндовс. После такого действия появится окошко подтверждения, в котором для начала передачи нужно нажать кнопку «Копировать».

В этом же окне можно задать режим передачи и запретить его появление, отметив чекбокс «Больше не выводить это окно». После начала передачи появится окно с ее статусом и процентом закачки файла, которое по окончании передачи исчезнет.

Итак, соединение установлено, файлы передаются, но такая работа неудобна. Если поставить на загрузку большое количество файлов, то окно со статусом передачи не даст выполнять другие задания. Поэтому мы настроим соединения как в Filezilla - возьмем ее удобство и соединим с надежностью WinSCP. Исключительно гибкие настройки WinSCP позволяют это сделать без особых проблем, чем мы и займемся, обеспечив быструю, не вызывающую раздражения работу

Настройка WinSCP

Если установлено соединение с сервером, то можно приступать к настройкам, если нет, то необходимо соединиться - настройки будем делать из этого режима. Причина проста - все изменения будут тут же применяться и вы наглядно поймете, какая функция за что отвечает. Поехали!

В верхнем меню идем в «Настройки», а в нем снова в «Настройки», либо жмем кнопку с шестеренкой.

В открывшемся окне настроек, скриншот которых вы видите под этими строками, мы пройдем по некоторым вкладкам, на которые ведут ссылки в левой части, делая нужные изменения.

Вкладка «Окружение»

По умолчанию мы сразу попадаем в корень этой вкладки, где можно настроить появление надоедливых предупреждений, выдающиеся программой перед выполнением каких-либо действий, либо по их окончанию. Очевидно, что не нужны предупреждения о закрытии программы и копировании файлов. В общем, настройте сообщения в соответствии с собственными представлениями об удобстве, но обязательно оставив отмеченным чекбокс об удалении файлов.

В разделе «Интерфейс» ничего особенного нет, можно лишь настроить вид менеджера. По умолчанию (режим «Коммандер») предлагается самый удобный вариант, поэтому задерживаться тут не будем.

Раздел «Окно» пропускаем, переходим в «Панели» . В нем представляет интерес действия по двойному клику мыши на файле. Эта опции пригодятся перешедшим в WinSCP из Файлзиллы, в которой по двойному клику выполнялось копирование, а не открытие файлов. По умолчанию двойной клик вызывает редактирование файла, которое производится во встроенном редакторе. Поэтому имеет смысл изменить действие на открытие файла, который откроется в соответствующей типу файла программе - вы будете работать, как в проводнике Виндовс.

В разделе «Нортон» можно сделать некоторые изменения интерфейса, но по умолчанию все настроено нормально, пропускаем его, равно как пропускаем и «Проводник» .

Вкладка «Редакторы»

В этой вкладке можно при необходимости установить ассоциации расширений файлов с программами. Как уже говорилось, полная версия WinSCP подхватывает все ассоциации из системного реестра, но всегда найдется пользователь, который захочет редактировать файлы своим любимым редактором. Для многих таким редактором является Notepad++ и на скриншоте показаны настройки, необходимые для открытия и редактирования файлов CSS при помощи Notepad++.

Добавить новую или изменить существующую ассоциацию легко - жмем кнопку «Добавить» или «Изменить». В открывшемся окне, отметив пункт «Внешний редактор», при помощи кнопки «Обзор» указываем путь к нему, а в поле «Использовать для файлов» прописываем свое расширение.

Вкладка «Файлы»

Настроив редакторы, мы переходим к настройкам передачи файлов. Именно тут будет делаться множество изменений.

Прежде всего зайдем в настройки закачки по умолчанию. В ней ОБЯЗАТЕЛЬНО должен быть отмечен чекбокс «Как двоичные файлы». Любителям порядка на сайте рекомендую отметить чекбокс переименования файлов в строчные буквы - бардак с разным регистром в имени и расширениях файлов не способствует нормальной работе.

Зайдя в раздел «В фоне» , отмечаем «Показать» список очередей. Закроем настройки и увидим, что в нижней части менеджера появилась область очереди закачек, как в Filezilla. Штука эта очень удобная, она позволит контролировать ход загрузок и работать с несколькими хостами одновременно. Щелкнув правой кнопкой мыши на области закачек, мы вызовем появление небольшого меню, на котором, отметив пункт «Панель инструментов», можно вызвать отображение этой самой панели управления закачками.

Вернемся фоновым настройкам. Непосредственно попасть в них можно, щелкнув на шестеренке панели закачек (см. скриншот ниже), которую мы вызвали только что. Отметив три первых чекбокса «Enable queue processing by default» (разрешить использовать очередь по умолчанию), «По умолчанию закачивать в фоне» и «Передать каждый файл индивидуально на фоне» мы обеспечим удобную и надежную работу без всяких окошек и подтверждений. Особую роль в этом играет первый чекбокс «Enable queue processing by default». Если снять его выделение, то файлы будут помещаться в очередь, но не загружаться на сервер, пока не будет нажата кнопка «Enable queue processing» (см. скриншот ниже).

Если вам удобен такой режим работы, то оставьте вышеупомянутый чекбокс неотмеченным. Вообще, стоит настройкам в фоне уделить особое внимание и настроить их по своему усмотрению.

Фоновый режим работы, как уже говорилось, позволит осуществлять работу с несколькими соединениями одновременно.

Щелчок на кнопке с плюсом в верхней части менеджера откроет уже знакомое окно с хостами, где вы сможете выбрать еще один сервер и войти в него. После установки соединения появится новая вкладка, в которой вы сможете работать с хостом. Перемещаться по вкладкам можно путем нажатия кнопок с названиями соединений, расположенных рядом с кнопкой с плюсом (см. скрин выше). Щелчок правой кнопкой на названии соединения вызовет появление небольшого меню, в котором можно закрыть соединение.

Вкладка «Безопасность»

На этой вкладке вы сможете установить мастер-пароль, который повысит надежность работы с программой в публичном месте и не позволит посторонним лицам осуществлять соединение. При вводе простого пароля из двух-трех букв появится предупреждение о его ненадежности, поэтому лучше сразу вводить пароль длиной не менее 6 символов. Никто не заставляет выдумывать суперсложные пароли для этой цели, которые невозможно запомнить, но комбинация из различных дат и имен есть у каждого, не так ли?

Смена пароля происходит на этой же вкладке, равно как и его отмена, для подтверждения которой нужно ввести действующий пароль. Поэтому, если вы решили использовать эту опцию, постарайтесь пароль не потерять.

Отметим, что мастер-пароль никоим образом не влияет надежность хранения паролей к хостам, он всего лишь запрещает доступ посторонним пользователям, не более того.

Вкладка «Хранилище»

Выбираем, где будут храниться данные программы. По умолчанию они хранятся в системном реестре, но в качестве их хранилища можно выбрать и файл, который будет находиться в корневой папке программы.

Вот и все. Мы установили, настроили WnSCP и начали работу. Завершая статью, еще раз поговорим о надежности описанного нами менеджера ФТП. Она, без сомнения выше, чем у Filezilla, но пароли воруются и с WinSCP. Если защита компьютера дырявая, вам не поможет самая надежная программа - пароли тырятся и с файлов, и с системного реестра. На момент написания статьи нет бесплатных программ ФТП, которые хранили бы пароли в действительно зашифрованном виде, используя надежный алгоритм шифрования AES либо другой. Вы должны понимать это и обеспечивать соответствующую защиту своего рабочего места.

Помогла статья? Помогитие и вы развиться сайту, опубликуйте ссылку!

WinSCP – это пожалуй, одна из наиболее популярных программ для обмена файлами между узлами с операционными системами Linux, Windows или MacOS по протоколам FTP, SFTP, FTPS, SCP, WebDAV и Amazon S3. Позволяет выполнять типовые операции с файлами и папками, такие как загрузка с удаленного узла и выгрузка на удаленный узел, переименование, перенос, удаление и создание файлов и папок в локальной или удаленной файловой системе. Он также позволяет просматривать и изменять свойства файлов и папок, а также создавать символьные ссылки и ярлыки. Программа имеет многоязычную поддержку и предоставляет пользователю возможность выбора интерфейса в стиле проводника или файлового менеджера Total Commander. Кроме того, в пакет WinSCP включена специальная утилита командной строки winscp.com , позволяющая автоматизировать процессы обмена файлами и папками с помощью заранее подготовленных сценариев.

Кроме того, WinSCP предоставляет пользователю массу дополнительных возможностей:

Возможность импорта настроек соединений из установленной в системе программы PuTTY. - Интеграция с Pageant (PuTTY Agent) с поддержкой авторизации по открытым ключам.

Интеграция с операционной системой Windows (поддержка Drag&Drop, ярлыков, поддержка схем URL).

Поддержка работы с любыми версиями протокола SSH (Secure Shell)

Встроенный текстовый редактор.

Возможность сохранять настройки соединений.

Возможность работы с использованием файла конфигурации вместо хранения настроек в реестре, что позволяет использовать ее в переносимом варианте (Portable WinSCP).

Плагин для поддержки протокола SFTP в программе FAR Manager .

Возможность синхронизации каталогов локального и удаленного узлов.

Программа WinSCP абсолютно бесплатна и распространяется с открытым исходным кодом.

Установка и настройка WinSCP

Скачать актуальную версию программы можно на странице загрузки WinSCP

Установка программы выполняется стандартным образом с рекомендуемыми параметрами или с возможностью выбора параметров. Выбираемые параметры можно изменить в любой момент времени после установки. Настройки WinSCP выполняются через меню Параметры - Настройки . Множество различных параметров настройки внешнего вида и поведения программы позволяют легко адаптировать ее под предпочтения конкретного пользователя.

Настройки по умолчанию, как правило, соответствуют предпочтениям обычного пользователя Windows, но при необходимости, можно например, изменить поведение программы при обрыве связи, отклонении сервером подключения по протоколу SFTP и т.п.

Подключение к серверам

Программа WinSCP позволяет создавать и, по желанию пользователя – сохранять, профили подключений к различным серверам, поддерживающим соответствующие прикладные протоколы FTP, FTPS, SFTP, SCP, WebDAV, Amazon S3.

Для создания нового подключения используется кнопка Новое соединение - Новое подключение или комбинация клавиш CTRL+N . Далее необходимо выбрать параметры соединения – протокол передачи данных, наличие и свойства шифрования, имя сервера (IP-адрес) и номер порта, а также - учетную запись пользователя, используемую при подключении к указанному серверу:

После завершения настройки подключения, можно выполнить его сохранение нажав кнопку Сохранить Сохраненное соединение можно использовать в качестве соединения по умолчанию, которое будет выбираться при запуске программы WinSCP.

В нижней части окна со списком соединений размещены кнопки Инструменты и Действия предоставляющие пользователю дополнительные возможности по сохранению и восстановлению конфигурации подключений, взаимодействию с программой PuTTY , стиранию следов работы программы и вызову ее настроек.

Передача данных.

Двухпанельный интерфейс по образу Total Commander, как правило, удобнее интерфейса в стиле Проводника Windows. В левом окне отображается локальная файловая система, в правом – файловая система сервера, к которому выполнено подключение.

Настройки WinSCP позволяют поменять панели местами - Настройки - Внешний вид - Коммандер - Панели - включить Поменять панели местами (локальная справа, сервер слева)

Для передачи файлов на сервер производится их выделение в левом окне и отправка нажатием кнопки Отправить . Для приема файлов от удаленного сервера производится их выделение в правом окне и получение нажатием кнопки Получить . Выделение файлов и каталогов выполняется стандартным для ОС семейства Windows способом. Перед началом обмена данными с сервером, отображается диалоговое окно, позволяющее изменить некоторые параметры передачи и выполнить ее настройки:

В процессе передачи данных отображается статистическая информация:

Важной особенностью Winscp является возможность синхронизации локальных и удаленных данных. Режим синхронизации включается через меню Команды - Синхронизация .

Компьютер - изменения в удаленном каталоге применяются по отношению к локальному.

Сервер - изменения в локальном каталоге применяются по отношению к удаленному.

В обе стороны - изменения выполняются как в удаленном, так и в локальном каталогах.

Кроме направления синхронизации, можно выбрать также и ее режим:

Синхронизация файлов - основной режим синхронизации в WinSCP. Реализуется алгоритм:

Файлы, более новые в каталоге источника передаются в каталог приемника.

Файлы, присутствующие в каталоге источника, но отсутствующие в каталоге приемника передаются в каталог приемника, если не включен режим Лишь имеющиеся файлы в настройках Параметры синхронизации .

Файлы, существующие в каталоге приемника, но отсутствующие в каталоге источника могут быть удалены, если включен режим Удалять файлы в настройках Параметры синхронизации .

При направлении синхронизации В обе стороны файлы, отсутствующие в противоположном каталоге считаются новыми и передаются, если не включен режим Лишь имеющиеся файлы . Удаление файлов при использовании данного направления синхронизации не выполняется.

Зеркальные файлы - различающиеся файлы (более новые и более старые) в каталоге источника передаются в каталог приемника.

Синхр. штампов времени - режим активен, если в удаленной и локальной системе существует возможность определения времени модификации файлов. Обычно, это подключение по протоколу SFTP. Никакие файлы не изменяются и не удаляются. Если один и тот же файл существует в каталоге источника и в каталоге приемника, можно изменить его отметку времени на время модификации либо источника, либо приемника по выбору пользователя. При направлении синхронизации В обе стороны обновляется отметка времени более старых файлов.

Автоматизация обмена данными с применением WinSCP

Программа WinSCP имеет поддержку командной строки и развитую систему создания и выполнения сценариев, что позволяет легко реализовать автоматизацию повторяющихся процессов приема и передачи данных.

Для работы со сценариями можно использовать утилиту командной строки winscp.com , либо запустить программу с параметром /console :

"C:\Program Files (x86)\WinSCP\WinSCP.exe" /console

Для удобства работы с командной строкой WinSCP можно добавить путь к каталогу программы в переменную PATH стандартными средствами Windows либо средствами самой WinSCP: Параметры - Настройки - Интеграция - Добавить папку WinSCP в путь поиска . Поскольку добавление пути поиска WinSCP выполняется в системную переменную PATH, требуется запуск программы от имени администратора и перезагрузка Windows для применения изменений.

После выполнения команды winscp.com или winscp.exe /console , откроется стандартное консольное окно с приглашением к вводу команд WinSCP:

winscp >

По умолчанию, в окне командной строки WinSCP используется кодировка UTF-8 . При желании, внешний вид и поведение консоли WinSCP можно настроить под свои предпочтения, например, включив выделение текста мышью и сменив цветовую палитру на черные символы на белом фоне.

Получение справки по командам WinSCP

Большинство внутренних команд WinSCP имеют синтаксическое и смысловое сходство с командами командной строки Linux. Для получения встроенной справки используется команда help :

call - Выполняет заданную команду на сервере

cd - Изменяет папку на сервере

checksum - Вычисляет контрольную сумму файлов на сервере

chmod - Изменить права доступа к файлу на сервере

close - Закрывает соединение

cp - Дупликация/дубль удалённого файла

echo - Выводит свои аргументы в виде сообщения

exit - Закрывает все соединения и завершает программу

get - Загрузить файл с сервера

help - Отображает справку

keepuptodate - Постоянно отслеживать изменения в локальной папке

lcd - Изменить локальную папку

lls

lpwd - Отобразить содержимое локальной папки

ls - Отобразить содержимое папки на сервере

mkdir - Создать папку на сервере

mv - Переименование/перенос файла на сервере

open - Соединение с сервером

option - Просмотреть/задать параметры сценария

put - Выгрузить файл на сервер

pwd - Печатает имя папки сервера

rm - Удалить файл с сервера

rmdir - Удалить папку с сервера

session - Показать список активных соединений или выбрать активное соединение

stat - Запрашивает атрибуты файла на сервере

synchronize - Синхронизировать папку на сервере с локальной

Получение справки по конкретной команде WinSCP

Для получения дополнительной справочной информации по отдельным командам используется синтаксис:

help команда

help synchronize - получить подсказку по команде синхронизации. Результат выполнения:

synchronize local|remote|both

Если первый параметр - "local", синхронизирует локальный каталог с удалённым Если первый параметр - "remote", синхронизирует удалённый каталог с локальным. Если первый параметр - "both", взаимно синхронизирует каталоги. Если каталоги не указаны, синхронизируются текущие рабочие каталоги.

Примечание: подтверждения перезаписи для этой команды всегда отключены.
BR> параметры:

-preview - Только просмотр различий, не синхронизировать

-delete - Удалить устаревшие файлы

-mirror - Зеркалирование (синхронизирует старые файлы тоже). Игнорируется в режиме "both".

-criteria= - Критерии сравнения. Возможные значения: "none", "time", "size" и "either". Игнорируется в режиме "both".

-permissions= - Установить права

-speed= - Ограничить скорость передачи

-transfer= - Режим передачи: binary, ascii, automatic

-filemask= - Задаёт файловую маску.

-resumesupport= - Настраивает поддержку возобновления. Возможные значения: "on", "off" или пороговая величина
действующие параметры: reconnecttime

Примеры:

Synchronize remote -delete

Synchronize both d:\www /home/martin/public_html

Использование собственных сценариев WinSCP .

WinSCP позволяет пользователю получить уже готовые сценарии для выполнения большинства операций приема и передачи файлов. Например, при приеме файла от удаленного сервера в локальный каталог, после нажатия кнопки Получить можно открыть выпадающее меню Настройки передачи

Пункт меню Сформировать код… позволяет сформировать готовый сценарий для выполнения в виде обычного командного файла Windows, сценарий для выполнения в командной строке WinSCP, а также коды сборки.NET для C#, VB.NET и Power Shell. В открывшемся окне Сформировать код передачи нужно переключиться на вкладку Сценарий и выбрать нужный Формат , например Файл сценария

winscp.com /script=c:\users\user\tmp\script1.txt

Если каталог WinSCP не добавлен в пути поиска переменной PATH, по нужно указать полный путь к исполняемому файлу:

"C:\Program Files (x86)\WinSCP\winscp.com" /script=c:\users\user\tmp\script1.txt /ini=nul

Очень желательно, в параметрах командной строки указать параметр /ini=nul . Это делается для того, чтобы обеспечить выполнение winscp.com с конфигурацией по умолчанию и запрещает сохранение текущей конфигурации при завершении программы.

В процессе выполнения сценария, на экране отображается справочная информация:

Соединяюсь с ftp.supermicro.com…
Соединение установлено
Открываю соединение…
Соединение открыто.
Активные соединения: [email protected]
/utility/Backplane_Utility
C:\Users\user\Temp\Backplane_Utility
backplane.zip | 1728 KB | 248,6 KB/s | binary | 100%

При необходимости, можно включить протоколирование выполнения сценария в журнале, например, C:\Users\user\Temp\script1.log:

winscp.com /script=c:\users\user\tmp\script1.txt /log=C:\Users\user\Temp\script1.log /ini=nul

Для получения командного файла CMD Windows, необходимо выбрать Формат - Пакетный файл :

Содержимое командного файла копируется в буфер обмена и затем в командный файл, например, C:\Users\user\Temp\script1.bat . В полученный таким образом командный файл нужно внести некоторые изменения, указав действительные путь для файла журнала или отключить его ведение:

@echo off
"C:\Program Files (x86)\WinSCP\WinSCP.com" ^
/log="C:\Users\User\Temp\script1.bat.log" /ini=nul ^
/command ^
"open ftp://anonymous:anonymous%%[email protected]/" ^
"cd /utility/Backplane_Utility" ^
"lcd C:\Users\user\Temp\Backplane_Utility" ^
"get backplane.zip" ^
"exit"

REM Ниже пример анализа кода возврата для оценки результата выполнения сценария set WINSCP_RESULT=%ERRORLEVEL%
if %WINSCP_RESULT% equ 0 (
echo Success
) else (
echo Error
exit /b %WINSCP_RESULT%

WinSCP возвращает ERRORLEVEL равный нулю, если сценарий выполнен успешно. Команда exit /b %WINSCP_RESULT% формирует ERRORLEVEL для данного командного файла, который может быть использован в других сценариях для анализа результатов его выполнения.

Если выбрать Формат - Командная строка , то в качестве кода передачи будут сформированы параметры командной строки winscp.com для выполнении в среде командного процессора Windows. Как и в случае с командным файлом, потребуется некоторая правка пути журнала или его исключение. Например:

winscp.com /command "open ftp://anonymous:anonymous%[email protected]/" "cd /utility/Backplane_Utility" "lcd C:\Users\user\Temp\Backplane_Utility" "get backplane.zip" "exit"

Для получения сценариев на языках C#, VB.NET и PowerShell, используется вкладка Код сборки.NET

Полученный код для выполнения в среде PowerShell копируется в файл с расширением .ps1 , например - C:\Users\User\temp\script1.ps1 и запускается на выполнение командой:

powershell -file C:\Users\User\tmp\script1.ps1

По умолчанию, в Power Shell включена максимальная политика безопасности, которая позволяет выполнять команды PowerShell в командной строке, но не позволяет выполнять в ней заранее подготовленные сценарии. Поэтому, если на экране отобразится сообщение о том, что невозможно загрузить файл сценария, так как выполнение скриптов запрещено для данной системы, нужно выполнить команду:

powershell -Command Set-ExecutionPolicy RemoteSigned

После выполнения данной команды, выполнение сценариев в среде PowerShell будет разрешено.

Полученный код сборки для PowerShell, может потребовать некоторой правки, в частности - указания полного пути для загрузки динамической библиотеки WinSCPnet.dll .

# Загрузить сборку.NET WinSCP
Add-Type -Path "C:\Program Files (x86)\WinSCP\WinSCPnet.dll"
. . .

Использование планировщика заданий для автоматизации выполнения сценариев

Для запуска Планировщика заданий можно воспользоваться поиском в Windows, перейти в “Панель управления” - “Администрирование” - “Планировщик заданий”, либо выполнить команду taskschd.msc .
Библиотека планировщика заданий , отображаемая в левой части окна оснастки планировщика, имеет довольно непростую иерархическую структуру, поэтому, можно создать отдельную папку, с использованием контекстного меню, вызываемого правой кнопкой мышки и пункта Создать папку , ввести имя папки, и в дальнейшем, именно в ней создавать свои тестовые или рабочие задания.

Для создания задач планировщика могут использоваться два мастера, вызываемые в режимах Создать простую задачу и Создать задачу . При создании простой задачи используется минимальный набор параметров, не предусматривающий наличие множественных условий выполнения и множественных действий. Для запуска сценариев WinSCP по расписанию, вполне достаточно создания простой задачи.

Новую задачу можно создать с использованием пункта меню Действие - Создать простую задачу либо через контекстное меню, вызываемое правой кнопкой мышки на уровне созданной папки в библиотеке планировщика, либо на уровне "Библиотека планировщика", если такая папка не нужна. После чего запускается мастер создания задачи:

На шаге Общие введите имя задания и его описание. Имя, для примера - DownloadFiles , а описание "Download files from ftp.supermicro.com". Описание может быть произвольным текстом, но желательно, чтобы оно отражало суть создаваемой задачи.

На шаге Триггер выполняется настройка условий, при возникновении которых, будет запущена создаваемая задача.

На шаге Действия в качестве действия выбираем Запуск программы , в виде которой будет выступать созданный ранее командный файл Script1.bat , который нужно выбрать с использованием кнопки Обзор… .

На шаге Завершение нажмите кнопку Готово и задание будет создано. Настройки созданного задания можно изменить в любое время при наличии у пользователя соответствующих прав.

WinSCP — свободно распространяемая программа для Windows для защищенного копирования файлов между компьютером и сервером, поддерживающим протоколы SFTP, SCP, SSH-1, SSH-2.

1. Установка WinSCP

  • Данная программа не требует установки, просто скопируйте исполняемый файл в любую удобную для вас папку.

2. Подключение к серверу

3. Копирование/перемещение файлов


Примечание: копирование/перемещение файлов с сервера на локальный компьютер осуществляется аналогично.

4. Редактирование файлов

  • WinSCP позволяет вносить изменения в файлы, не перемещая их с сервера. Для этого выберите файл, который собираетесь изменить, и нажмите «Edit » на панели внизу (или F4). Файл откроется во внутреннем текстовом редакторе, схожем со стандартными текстовыми редакторами Microsoft Windows.

5. Выполнение команд на сервере

  • WinSCP позволяет получить доступ к консоли для запуска приложений на сервере. Для этого:
    • Выберите в меню «Commands » -> «Open terminal» (или Ctrl+T). Введите пароль.
    • Введите нужные вам команды, подтверждая каждую нажатием клавиши «Enter »
    • Закройте окно. После этого можете продолжать работу с программой, например, скопировать результаты выполненных заданий.