Хостинг В Украине бесплатно
Початок підрозділу     PuTTY 0.56
Зміст
Глава 1
Глава 2
Глава 3
Глава 4
Глава 5
Глава 6
Глава 7
Глава 8
Глава 9
Глава 10
Додаток A
Додаток B
Додаток C
Додаток D

Найкращий, з відомих мені, українських сайтів де можна придбати диск з будь-яким Linux
Найкращий, з відомих мені, українських сайтів де можна придбати диск з будь-яким Linux
linux.org.ua -- Linux/UNIX news
Український Linux на базі Slackware
Кращий браузер — Mozilla Firefox
Extensions.org.ua - українізовані розширення Frenzy - LiveCD на основе FreeBSD
Comp(OS)It
Пиши українською Linux.SU - Линукс в пять минут!
Сайт live дистрибутиву SLAX.
7-Zip
META-Ukraine
Портал Укрнет

Глава 5: Використання PSCP для захищеної передачі файлів

     PSCP, клієнт Безпечного Копіювання PuTTY, це утиліта для надійної передачі файлів між комп'ютерами використовуючи SSH з'єднання.

     Якщо в вас є SSH 2 сервер, ви могли б віддати перевагу PSFTP (дивиться главу 6) для інтерактивного використання. Однак PSFTP не схожий в роботі з SSH 1 серверами.

5.1 Запуск PSCP

     PSCP це додаток командного рядку. Це означає, що ви не можете лише двічі натиснути на його іконці щоб запустити його, замість цього ви повинні викликати консольне вікно. У Windows 95, 98 і ME це зветься ‘MS-DOS Prompt’, а у Windows NT і 2000 це зветься ‘Command Prompt’. Воно повинно бути доступно з секції Програми вашого меню Пуск.

     Щоб запустити PSCP він повинен бути прописаний у вашому PATH чи в вашій поточній директорії. Щоб додати директорію яка містить PSCP у вашу змінну середовища, наберіть в консольному вікні:

set PATH=C:\path\to\putty\directory;%PATH%

     Це буде працювати лише на протязі часу життя окремого консольного вікна. Для встановлення вашого PATH у Windows NT використовуйте вкладку Environment (Середовище) у System Control Panel (Системній Контрольній Панелі). У Windows 95, 98 та ME вам необхідно відредагувати ваш AUTOEXEC.BAT для включення команди встановлення як та що вище.

Вгору

5.2 Використання PSCP

     Лишень ви отримали консольне вікно для набору інформації, ви можете просто набрати pscp, щоб отримати повідомлення про використання. Воно вам скаже версію PSCP і надасть стислу загальну інформацію як використовувати PSCP:

Z:\owendadmin>pscp
PuTTY Secure Copy client
Release 0.XX
Usage: pscp [options] [user@]host:source target
     pscp [options] source [source...] [user@]host:target
     pscp [options] -ls [user@]host:filespec
Options:
     -p preserve file attributes
     -q quiet, don't show statistics
     -r copy directories recursively
     -v show verbose messages
     -load sessname Load settings from saved session
     -P port connect to specified port
     -l user connect with specified username
     -pw passw login with specified password
     -pw passw login with specified password
     -1 -2 force use of particular SSH protocol version
     -4 -6 force use of IPv4 or IPv6
     -C enable compression
     -i key private key file for authentication
     -batch disable all interactive prompts
     -unsafe allow server-side wildcards (DANGEROUS)
     -V print version information
     -sftp force use of SFTP protocol
     -scp force use of SCP protocol

     (Інтерфейс PSCP дуже схожий на Unix команду scp, якщо ви знайомі з нею).

Вгору

5.2.1 Основи

     Для отримання файлу/файлів з віддаленого серверу:

pscp [options] [user@]host:source target

     Отже для копіювання файлу /etc/hosts з серверу example.com як користувач fred у файл c:\temp\example-hosts.txt ви повинні набрати:

pscp fred@example.com:/etc/hosts c:\temp\example-hosts.txt

     Щоб передати файл/файли до віддаленого серверу:

pscp [options] source [source...] [user@]host:target

     Отже щоб скопіювати локальний файл c:\documents\foo.txt на сервер example.com як користувач fred у файл /tmp/foo ви повинні набрати:

pscp c:\documents\foo.txt fred@example.com:/tmp/foo

     Ви можете використовувати знаки підстановки для передачі багатьох файлів у будь-якому напрямку, подібно цьому:

pscp c:\documents\*.doc fred@example.com:docfiles
pscp fred@example.com:source/*.c c:\source

     Однак, у другому випадку (при використанні знаків підстановки для багатьох віддалених файлів) ви можете побачити попередження яке каже щось схоже на ‘warning: remote host tried to write to a file called 'terminal.c' when we requested a file called '*.c'. If this is a wildcard, consider upgrading to SSH 2 or using the '-unsafe' option. Renaming of this file has been disallowed’ ('увага: віддалений хост намагається записати файл з імям 'terminal.c' коли ви запрошуєте '*.c'. Якщо це знак підстановки, розглянте оновлення до SSH 2 чи використовуйте опцію '-unsafe'. Перейменування цього файлу було скасовано').

     Це відбувається з-з фундаментальної ненадійності у старому SCP протоколі: клієнт надсилає строку знаків підстановки (*.c) серверу і сервер надсилає назад послідовність імен файлів, які відповідають зразку знаків підстановки. Однак, ніщо не зупинить сервер прислати різні зразки і перезаписати один з ваших інших файлів: якщо ви запитуєте *.c, сервер може надіслати назад ім'я файлу AUTOEXEC.BAT і встановити вам вірус. Так як правіла зіставлення символів підстановки обираються сервером, клієнт не може надійно перевірити імена файлів, які надсилаються назад, на відповідність зразку.

     PSCP буде намагатися використовувати більш новий протокол SFTP (частина SSH 2), якщо можливо, який не страдає від цього недоліку захисту. Якщо ви спілкуєтесь з SSH 2 сервером, який підтримує SFTP протокол, ви ніколи не побачите цього попередження. (Ви можете примусово використовувати SFTP протокол, якщо доступний, з -sftp – дивиться розділ 5.2.2.5).

     Якщо вам дійсно необхідно використовувати знаки підстановки з боку серверу з SSH 1 сервером, ви можете використовувати опцію командного рядку -unsafe з PSCP:

pscp -unsafe fred@example.com:source/*.c c:\source

     Це подавить повідомлення попередження і передача файлів відбудеться. Однак, ви повинні знати, що використовуючи цю опцію ви даєте серверу можливість писати будь-який файл у цільовій директорії, так що ви повинні використовувати цю опцію лише якщо ви довіряєте адміністратору серверу, щоб він не був зловмисним (і не дозволив, щоб машина сервер не була зламана зловмисними людьми).

Вгору
5.2.1.1 користувач

     Ім'я того хто входе у систему на віддаленому сервері. Якщо його пропустили і є збережена сесія PuTTY, PSCP, буде використовувати біль-яке ім'я користувача вказане у цій збереженій сесії. Інакше PSCP буде намагатися використовувати ім'я локального користувача Windows.

Вгору
5.2.1.2 host

     Ім'я віддаленого серверу чи ім'я збереженої сесії PuTTY. В останньому випадку будуть використані налаштовування для імені хосту, номеру порту, тип шифрування і імені користувача.

Вгору
5.2.1.3 джерело

     Один чи більше похідних файлів. Припустимі знаки підстановки. Синтаксис знаків підстановки залежіть від системи до якої вони застосовані, отже якщо ви робите копію з Windows до UNIX системи, ви повинні використовувати синтаксис знаків підстановки Windows (наприклад *.*), але якщо ви робите копію з UNIX системи до Windows системи, ви повинні використовувати синтаксис знаків підстановки які припустимі в вашій UNIX оболонці (наприклад *).

     Якщо джерело це віддалений сервер і ви не вказуєте повного шляху (у UNIX шлях починається з символу / (слеш)), який ви визначаєте, джерело буде інтерпретоване відносно вашого домашньої директорії на віддаленому сервері.

Вгору
5.2.1.4 ціль

     Ім'я файлів чи директорії для розміщення файлу/файлів. При копіюванні з віддаленого серверу на локальний хост, ви можете забажати просто розмістити файл(и) у поточну директорію. Щоб зробити це вкажіть ціль куди ... Наприклад:

pscp fred@example.com:/home/tom/.emacs .

... скопіює /home/tom/.emacs з віддаленого серверу у поточну директорію.

     Як з параметром джерела, якщо ціль на віддаленому сервері це не повний шлях, він інтерпретується відносно вашої домашньої директорії на віддаленому сервері.

Вгору

5.2.2 Опції

     PSCP розуміє усі загальні опції командного рядку які підтримуються утилітами PuTTY, за виключенням тих, які не мають сенсу в утиліті передачі файлів. Дивиться опис цих опцій у розділі 3.7.3. (Ті що не підтримуються PSCP чітко відмічені).

     PSCP також підтримує деякі власні опції. Наступний розділ описує специфічні опції командного рядку PSCP.

     Це опції командного рядку, які розуміє PSCP.

Вгору
5.2.2.1 -p зберегти атрибути файлу

     За умовчанням при копіюванні файлів з PSCP на них ставиться часова мітка з датою і часом, коли вони були скопійовані. Опція -p зберігає оригінальну часову мітку файлів що копіюються.

Вгору
5.2.2.2 -q потайки, не показувати статистику

     За умовчанням PSCP показує лічильник прогресу поточної передачі:

mibs.tar | 168 kB | 84.0 kB/s | ETA: 00:00:13 | 13%

     Поля у цьому дисплеї (зліва направо) ім'я файлу, розмір (у кілобайтах) переданої частини файлу, оцінка швидкості передачі файлу (у кілобайтах на секунду), оцінка часу коли передача буде завершена і відсоток переданого файлу. Опція PSCP -q придушує вивід цієї статистики.

Вгору
5.2.2.3 -r копіювати директорії рекурсивно

     За умовчанням PSCP може копіювати лише файли. Будь-яка вказана вами до копіювання директорія буде пропущена як і її вміст. Опція -r каже PSCP спускатися у будь-яку вказану вами директорію і копіювати її з усім вмістом. Це дозволяє вам використовувати PSCP для передачі цілих директивних структур між машинами.

Вгору
5.2.2.4 -batch уникати інтерактивних підказок

     Якщо ви використовуєте опцію -batch PSCP ніколи не буде давати вам інтерактивну підказку під час встановлення з'єднання якщо ключ хосту серверу не вірний, на приклад (дивиться розділ 2.2), то з'єднання буде просто розірвано замість того, щоб перепитати вас що робити далі.

     Ця поведінка може допомогти використовувати PSCP у сценаріях автоматизації: використовуючи -batch, якщо щось йде не так, як слід під час з'єднання, пакетна обробка терпить невдачу, а не зависає.

Вгору
5.2.2.5 -sftp, -scp примусове використання вказаного протоколу

     Як згадано у розділі 5.2.1 це два різних протоколи передачі які використовуються з SSH. Не дивлячись на ім'я PSCP (як багато інших уявних scp клієнтів) може використовувати будь-який з цих протоколів.

     Старий SCP протокол не має письмової специфікації і оставляє більшість деталей платформі серверу. Знаки підстановки розкриваються на сервері. Простий дизайн означає будь-які знаки підстановки, які підтримуються специфікацією платформи серверу (такі як brace expansion) можуть бути використані, але це також призводить до проблем можливості до взаємодії таким як цитування імен файлів (наприклад, коли імена файлів містять пропуски) і також до проблем безпеки описаним у розділі 5.2.1.

     Більш новий SFTP протокол, який звичайно зв'язується з SSH 2 серверами, визначений на більшості платформ незалежним шляхом і оставляє такі проблеми як синтаксис знаків підстановки клієнту. (Синтаксис знаків підстановки PuTTY SFTP описано у розділі 6.2.2). Це робить його більш безсуперечним між платформами, більш придатним для створення сценаріїв автоматизації і дозволяє уникнути проблем безпеки при зіставленні знаків підстановки.

     Звичайно PSCP буде намагатися використовувати SFTP протокол і переходить до SCP протоколу, якщо SFTP недоступний на сервері.

     Опція -scp примушує PSCP використовувати протокол SCP або вийти.

     Опція -sftp примушує PSCP використовувати протокол SFTP або вийти. Коли ця опція вказана звернення PSCP важчі для SFTP серверу, який може використовувати SFTP з SSH 1 в залежності від налаштовувань серверу.

Вгору

5.2.3 Значення що повертається

     PSCP повертає нульовий ERRORLEVEL (вдача) лише якщо файл коректно передано. Ви можете перевіряти його у пакетному файлі використовуючи код схожий на цей:

pscp file*.* user@hostname:
if errorlevel 1 echo There was an error
Вгору

5.2.4 Використання автентифікації публічним ключем з PSCP

     Як PuTTY PSCP може автентифікуватися використовуючи публічний ключ замість паролю. Існує три шляхі якими ви можете зробити це.

     Перший, PSCP може використовувати збережені сесії PuTTY замість hostnames (дивиться розділ 5.2.1.2). отже щоб зробити це:

  • Запустіть PuTTY і створіть збережену сесію PuTTY (дивиться розділ 4.1.2) у якому вкажіть файл вашого приватного ключу (дивиться розділ 4.20.5). Ви імовірно забажаєте також вказати ім'я користувача під яким будете входити (дивиться розділ 4.14.1).

  • Тепер у PSCP ви можете використовувати ім'я сесії замість hostname: наберіть pscp sessionname:file localfile, де sessionname заменіть на ім'я вашої збереженої сесії.

     Другий, ви можете повідомити ім'я файлу приватного ключу у командній строчці з опцією -i. Дивиться розділ 3.7.3.16 за більшою інформацією.

     Третій, PSCP буде намагатися автентифікуватись використовуючи Pageant якщо Pageant запущено (дивиться розділ 9). отже щоб вам зробити це:

  • Гарантуйте що Pageant запущено і є ваш приватний ключ збережений у ньому.

  • Вкажить користувача і ім'я хосту у PSCP як нормально. PSCP автоматично знайде Pageant і спробує використати ключ з нього.

     Для більш загальної інформації по автентифікації публічним ключем дивиться розділ 8.

Вгору
Початок підрозділу     PuTTY 0.56

Linux coutner Український рейтинг TOP.TOPUA.NET