Как изменить редактор в winscp
Меня очень тошнит от того, как WinSCP портит разрывы строк.
Я мог бы просто использовать FileZilla для FTP и Putty для SCP (я думаю, что putty с этим справится), но это довольно раздражает. Как я могу решить эту проблему?
- 1 Вы можете войти в настройки и использовать двоичный код вместо автоматического. Также, если вы используете внешний редактор (например, я), убедитесь, что он тоже не мешает. У меня никогда не возникало проблем (я использую блокнот для программистов, он же pnotepad)
- Так где Ларс? Ударил и раскололся.
Я бы сказал, что комментарий оставил acidzombie24 лучший совет. Лично я не встречал лучшей программы FTP, чем WinSCP. Я рекомендую вам изменить свои настройки для передачи с использованием двоичного кода и использовать редактор, например NP ++, а не собственный редактор.
Вот несколько скриншотов:
Отредактированная версия WinSCP FAQ Почему текстовый файл разрывает строки после переноса или редактирования?
См., В частности, раздел "Известные проблемы".
После передачи или редактирования файла может случиться так, что разрывы строк будут неправильными, что может проявиться как:
- Разрывы строк теряются. Похоже, что все содержимое файла находится в одной строке.
- Разрывы строк дублируются. Кажется, что между каждой строкой есть дополнительная пустая строка.
- В конце каждой строки есть странный символ / символ.
Форматы текстовых файлов
На разных платформах (операционных системах) используются разные форматы текстовых файлов. Наиболее распространены форматы Unix и Windows. Основное отличие состоит в том, что для обозначения конца строки используется другой символ или последовательность символов. В Unix это символ LF ( \\\\n , 0A или 10 в десятичной системе счисления). В Windows это последовательность из двух символов: CR и LF ( \\\\r + \\\\n , 0D + 0A или 13 + 10 в десятичной системе счисления).
Хотя многие приложения и системы в настоящее время могут работать с обоими форматами, для некоторых требуется определенный формат. Представляя файл в другом формате, они не могут правильно отобразить его, как описано выше.
Текстовый / ASCII режим передачи
По этой причине клиенты и серверы передачи файлов поддерживают режим передачи текста / ASCII. При передаче файла в этом режиме файл (в идеале) преобразуется из собственного формата исходной системы в собственный формат целевой системы. Например, при загрузке текстового файла в текстовом режиме из Windows в систему Unix концы строк файла преобразуются из CR + LF в LF.
WinSCP по умолчанию использует двоичный режим передачи для всех файлов. Узнайте, как настроить его для использования режима передачи текста / ASCII. Вам также может потребоваться настроить правильный формат текстового файла на стороне сервера.
Напротив, если вы хотите заставить WinSCP использовать двоичный режим, даже при редактировании файлов в текстовом редакторе, вы должны использовать внешний текстовый редактор (внутренний редактор WinSCP не поддерживает формат файлов Unix) и настроить WinSCP так, чтобы текстовый режим для редактируемых файлов. Также убедитесь, что внешний текстовый редактор сохраняет файл в нужном вам формате (в настоящее время большинство текстовых редакторов поддерживают разные форматы текстовых файлов, а не только формат, свойственный платформе, на которой работает редактор).
Известные проблемы с режимом передачи
- FTP-сервер Pure-FTPd: при загрузке файла с окончанием строки Windows (CR + LF) в текстовом / ASCII режиме, сервер заменяет LF на CR + LF, что приводит к неправильному CR + CR + LF. При открытии такого файла во внутреннем редакторе WinSCP редактор интерпретирует последовательность как два окончания строки (CR и CR + LF), в результате чего после каждой строки содержимого появляется пустая строка. Когда файл сохраняется, внутренний редактор сохраняет две строки Windows с окончанием CR + LF и CR + LF. При загрузке они преобразуются в два LF. Обходной путь - использовать внешний редактор и убедиться, что WinSCP не устанавливает текстовый режим для редактируемых файлов.
Отладка преобразования текстового файла
Если включение (или отключение) режима передачи текста / ASCII не помогает решить проблему и ваш переданный / отредактированный файл все еще неправильно воспринимается целевой системой, вам необходимо выяснить, на каком этапе файл был преобразован неправильно (или не был преобразован).
Чтобы определить окончания строк, используемые файлом в Windows, используйте следующую команду в консоли PowerShell, чтобы отобразить шестнадцатеричный дамп первых 100 символов данного файла ( example.txt ):
Для файла со следующим содержимым в формате Windows
Обратите внимание на две последовательности 0d 0a (CR + LF) обозначает формат Windows.
Чтобы определить окончания строки, используемые файлом в системе Unix / Linux, используйте команду:
(Альтернативы hexdump example.txt | head или же od example.txt | head .)
Для того же файла, что и выше, только в формате Unix, он отображает:
Обратите внимание на характер 0a (LF) обозначает формат Unix.
Если у вас нет доступа к удаленной системе через оболочку, загрузите файл с использованием двоичной кодировки и используйте команду PowerShell для локальной копии, идентичной двоичной.
Используйте эти методы, чтобы определить, какой формат имеют исходный и целевой файлы. При редактировании файла определите также формат локальной временной копии редактируемого файла, сохраненный редактором. См. Предпочтения относительно расположения временных копий.
Запрос поддержки
Если вышеперечисленное не помогает вам понять проблему и вы решите обратиться за дополнительной поддержкой, включите все свои выводы, включая копии исходного и целевого файла. При редактировании файла включите также локальную временную копию, сохраненную редактором. В идеале сжимайте (ZIP) файлы, чтобы ваш браузер не изменил формат файла при прикреплении файлов к запросу поддержки.
Метод1:
Метод 2:
-в "Настройки> Трансер> По умолчанию" выберите "Автоматический (режим передачи)';
-Затем в "Текст"окно, задайте такие условия (но я плохо их тестировал):
Итак, теперь ваша проблема может быть исправлена. Многие люди сталкиваются с этой проблемой, потому что новые строки по умолчанию (в некоторых случаях) удаляются WINSCP ..
Подключение FTP WinSCP и Текстового редактора Notepad++
Владельцам игровых серверов рекомендуется именно такая настройка и подключение к серверу по ftp. Такой способ прост, не ломает файлов, кодировки, видно полную информацию о файлах, получаем удобный редактор и управление файлами
Добавляем текстовый редактор
1. Качаем и устанавливаем программы Notepad++ и WinSCP с оф.сайтов.
2. Запускаем программу WinSCP.
- Откроется окно для ввода ftp-подключения, но мы сначала настроим редактор
3. Переходим в настройки (Инструменты>Настройки…)
4. Находим строку Редакторы и в нем уже жмем Добавить
5. В новом окне Ставим чекбокс
6. Теперь находим в папке Program Files или Program Files (x86) наш Notepad++, выбираем его и жмем Открыть и ОК в предыдущем окне.
7. В списке редакторов наш Notepad++ должен стоять на первом месте. Просто зажимаем его ЛКМ и переносим в начало списка.
8. Жмем ОК. Добавление редактора завершено.
Подключаемся к FTP сервера
1. Открываем Панель Управления, вкладку Доп.функции > FTP Доступ
2. Запускаем WinSCP, выбираем Новое Подключение и переключаем на протокол FTP.
3. Копируем данные с нашей ПУ FTP Доступ в программу.
- Адрес сервера - в Имя Хоста
- Логин - в Имя пользователя
- Пароль - в строку Пароль соответственно.
4. Жмем сохранить, указываем любое Название подключения и ставим галочку Запомнить пароль
5. В списке подключений у нас появится наш сервер. Клацаем 2 раза и у нас пойдет подключение к FTP
6. Открываем любой .cfg файл и видим что открывается он через Notepad++
Если вы уже скачали архив с ОС для Pi, то его можно не распаковывать, balenaEtcher сделает это сам, достаточно добавить архив через кнопку Flash from file .
Файл вообще можно не скачивать и сразу добавить ссылку на него через кнопку Flash from URL .
Далее выбираем носитель для записи. Конечно же он будет полностью отформатирован и все данные будут утеряны.
При установке PuTTY указывайте папку C:\Program Files\PuTTY\ для того, чтобы WinSCP могла её запускать. При парольном доступе из WinSCP в PuTTY передаются логин и пароль соединения.
При перезагрузке Raspberry Pi текущий сеанс PuTTY становится неактивным. Для перезапуска потребуется закрыть окно PuTTY и открыть заново.
С WinSCP вы получаете интерфейс по типу Проводника для доступа к содержимому карты памяти Raspberry Pi.
¶ Настройка соединения WinSCP
Открываем WinSCP и настраиваем Новое подключение . Протокол передачи - SFTP . Вводим IP-адрес или сетевое имя Raspberry Pi в поле Имя хоста . Заполняем Имя пользователя и Пароль . По умолчанию логин pi и пароль raspberry .
¶ Редактирование файлов на Pi
В открывшемся окне нажмите Добавить и в поле Внешний редактор введите, например, путь к VSCode.
ВНИМАНИЕ! Для обычных задач полностью хватает парольного доступа. Этот раздел несёт сугубо справочную цель. Ни в коем случае не выполняйте дальнейшие инструкции, если у вас есть сомнения по поводу доступа посторонних к вашему Raspberry Pi или компьютеру. Никто, кроме вас, не несёт ответственности за последствия.
¶ Включаем беспарольный доступ на Raspberry Pi
Запускаем PuTTY, выполняем
Ищем параметр PermitRootLogin и меняем его значение на prohibit-password , ранее известный как without-password
Сохраняем: Ctrl+X → Y → Enter.
Перезагружаем Raspberry Pi
¶ Генерируем пару ssh-ключей
В окне подключений WinSCP жмём Редактировать , затем Ещё и переходим в пункт SSH → Аутентификация .
Жмём Инструменты → Сгенерировать новую Ключевую пару с помощью PuTTYgen
Запустится программа PuTTYgen, которая входит в пакет PuTTY.
Жмём Generate и беспорядочно двигаем курсором в пределах окна, что используется программой для генерации случайного ключа.
Жмём Save private key - сохраняем Закрытый ключ. Подтверждаем сохранение без Passphrase - для WinSCP и вообще для наших целей можно не вводить . Сохраняем под любым удобным именем в безопасном месте.
Жмём Save public key - сохраняем Публичный ключ.
¶ Подключаем сгенерированные ключи в WinSCP
В том же окне Аутентификация WinSCP
жмём Инструменты → Установить публичный ключ на сервер и выбираем файл публичного ключа. WinSCP сейчас же сделает это самостоятельно.
жмём Троеточие и выбираем файл закрытого ключа, если правильный не выбран.
ВНИМАНИЕ! Для обычных задач полностью хватает редактора Nano . Этот раздел несёт сугубо справочную цель. Ни в коем случае не выполняйте дальнейшие инструкции, если у вас есть сомнения по поводу доступа посторонних к вашему Raspberry Pi или компьютеру. Никто, кроме вас, не несёт ответственности за последствия.
Nano - простой текстовый редактор, по умолчанию присутствующий в большинстве дистрибутивов Linux. Его не надо устанавливать. Запускается из командной строки. У него непривычные горячие клавиши, но их просто запомнить: для того, чтобы сохранить файл надо нажать сочетание клавиш Ctrl+X , затем Y для сохранения или N для отмены и затем Enter для подтверждения.
¶ Настройка root-доступа в WinSCP
Снова запускаем PuTTY. Переходим под пользователя root
Копируем ключ пользователя pi для пользователя root
Перезагружаем Raspberry Pi
Чтобы не напортачить, имея права root, советую теперь завести отдельное подключение в WinSCP с логином root, пароль теперь не нужен. Под этим подключением вы сможете свободно редактировать системные файлы и в итоге к чертям испортить работу всей системы.
WinSCP – многофункциональный графический FTP-клиент, который поддерживает передачу данных через распространённые протоколы:
- SFTP (SSH File Transfer Protocol);
- SCP (Secure Copy Protocol);
- FTP (File Transfer Protocol);
- WebDAV;
- Amazon S3.
Бесплатно скачать WinSCP можно с официального сайта.
Технические характеристики
Операционная система: Windows 10/8/7/Vista/XP.
Поддержка русского языка: Есть.
Технические требования: SSH-сервер с поддержкой SFTP/SCP / FTP-сервер / WebDAV-сервер.
Лицензия: Бесплатная.
Особенности программы WinSCP
- Отправка проверочных пакетов серверу для поддержания целостности соединения.
- Встроенный текстовый редактор и командная строка.
- Редактирование файлов на сервере в режиме реального времени, без загрузки на устройство.
- Встроенная командная строка.
- Интеграция с программой Putty.
- Сохранение данных авторизации, использованных для подключения к серверу (хост, логин и пароль).
- Возможность создания нескольких соединений.
- Работа на переносном носителе, без установки программы в систему.
- Сохранение и перенос настроек программы в формате INI (.ini).
Основной функционал WinSCP
О работе с основным функционалом далее будет кратко рассказано на примере ОС Windows 10. Для остальных операционных систем семейства Windows действия аналогичны.
Более развернутые инструкции о том, как пользоваться WinSCP можно найти в официальной документации программного продукта.
Добавление нового подключения
Подключиться к серверу через WinSCP можно по следующему алгоритму:
В случае успешного подключения в правом окне откроется директория сервера, что позволит начать работу с файлами.
Подключение к командной строке
Особенность WinSCP – встроенная командная строка, которая позволяет управлять удалённым сервером. Открыть консоль можно следующим способом:
Включение отображения скрытых файлов
Теперь программа будет отображать скрытые файлы полупрозрачным цветом.
Управление параметрами WinSCP
Все настройки программа WinSCP хранит в реестре.
Путь к настройкам в реестре для Windows 10: HKEY_LOCAL_MACHINE/Software/Martin Prikryl/WinSCP 2.
WinSCP поддерживает экспорт/импорт параметров в файл INI (.ini). Это позволяет перенести настройки в программу WinSCP, установленную на другом устройстве или создать бэкап настроек для восстановления, в случае потери данных.
Экспорт параметров WinSCP
- На главной странице WinSCP нажать «Новое подключение».
- Открыть вкладку инструменты и нажать «Экспорт/сохранение настроек».
- Откроется окно проводника. Нужно выбрать папку, в которую будет сохранён INI (.ini) файл с настройками и нажать «ОК».
Импорт параметров WinSCP
- На главной странице WinSCP нажать «Новое подключение».
- Открыть вкладку инструменты и выбрать «Импорт/восстановление настроек».
- Появится окно с предупреждением. Для продолжения нужно нажать «ОК».
- Далее откроется окно проводника. Для восстановления параметров нужно перейти в директорию с резервной копией настроек WinSCP, выбрать INI (.ini) файл и нажать «Открыть».
По умолчанию программа хранит настройки по пути: C:\Users\Имя_Пользователя\Documents\ .
Аналоги для Linux
Если требуется подключиться к серверу с операционной системы Linux, то вместо WinSCP можно рассмотреть альтернативные FTP-клиенты.
CrossFTP
Операционная система: Linux, Windows, MacOS и др.
Поддерживаемые протоколы: FTP, FTPS, SFTP, FXP, WebDav, Amazon S3, Amazon Glacier, Microsoft Azure, Google Storage и OpenStack Swift.
Поддержка русского языка: Нет.
Лицензия: Бесплатная. Есть платная версия с расширенными возможностями.
CrossFTP отсутствует в официальных репозиториях Linux. Установка производится путём скачивания и запуска инсталлятора.
FileZilla
Операционная система: Linux, Windows, MacOS и др.
Поддерживаемые протоколы: FTP, SFTP, FTPS.
Поддержка русского языка: Есть.
Лицензия: Бесплатная.
Установка на Ubuntu/Debian из официальных репозиториев выполняется командой:
Установка на CentOS из Epel-репозиториев выполняется командами:
Инсталлятор FileZilla можно скачать с официальной страницы загрузок.
Установка на Ubuntu/Debian из официальных репозиториев выполняется командой:
Установка в CentOS из Epel-репозиториев выполняется командами:
Сборки и исходный код программы GFTP можно найти на официальной странице GitHub.
Krusader
Операционная система: Linux, Windows (Beta-стадия), MacOS и др.
Поддерживаемые протоколы: FTP, SAMBA, SFTP, SCP.
Поддержка русского языка: Есть.
Лицензия: Бесплатная.
Установка на Ubuntu/Debian из официальных репозиториев выполняется командой:
Установка в CentOS из Epel-репозиториев выполняется командами:
Сборки Krusader можно скачать с официальной страницы загрузок.
Заключение
Возможности SFTP-клиента далеко не ограничиваются приведенными выше функциями. WinSCP способен не только безопасно передавать данные, но и работать в связке с SSH-клиентом Putty, а также редактировать файлы на сервере без загрузки на устройство, используя готовые скрипты.
Более развернутые инструкции о том, как пользоваться WinSCP можно найти в официальной документации программного продукта.
Читайте также: