|
|
||
| Початок підрозділу PuTTY 0.56 | ||
|
Зміст
Глава 1 Глава 2 Глава 3 Глава 4 Глава 5 Глава 6 Глава 7 Глава 8 Глава 9 Глава 10 Додаток A Додаток B Додаток C Додаток D ![]() |
Глава 7: Використання утиліти з'єднання командного рядку Plink
Plink (PuTTY Link) це утиліта командного рядку подібна до UNIX ssh. Вона часто використовується для автоматизованих операцій, таких як створення CVS доступу до репозіторію на віддаленому сервері. Імовірно Plink це не те, що ви бажаєте, якщо ви бажаєте запустити інтерактивну сесію у консольному вікні. 7.1 Запуск PlinkPlink це додаток командного рядку. Це значить, що ви не можете просто двічи клацнути на його іконці, щоб запустити його, замість цього ви повинні запустити консольне вікно. У Windows 95, 98 та ME це називається «MS-DOS Prompt», у Windows NT та 2000 це називається «Command Prompt». Це повинно бути доступно з секції Програми (Programs) з вашого меню Пуск (Start). Щоб використовувати Plink, файл plink.exe повинен знаходитись або в вашій PATH або в вашій поточній директорії. Щоб додати директорію, що містить Plink до ваших змінних оточення PATH, наберіть у консольному вікні: set PATH=C:\path\to\putty\directory;%PATH% Це повинно працювати на протязі життя цього консольного вікна. Щоб встановити ваш PATH більш постійно у Windows NT використовуйте вкладку Environment у System Control Panel. У Windows 95, 98 та ME вам необхідно редагувати ваш AUTOEXEC.BAT, щоб ввімкнути в нього команду схожу на ту, що вище. 7.2 Використання PlinkЦя секція описує основи як використовувати Plink для інтерактивних підключень і автоматизації процесів. В вас є лише консольне вікно, щоб набирати в ньому, ви можете лише набрати plink, щоб отримати повідомлення про використання. Воно скаже вам версію Plink, який ви використовуєте і дасть стисле резюме як використовувати Plink: Z:\sysosd>plink Лише це спрацювало, ви готові до використання Plink. 7.2.1 Використання Plink для інтерактивних входівЩоб створити просте інтерактивне з'єднання до віддаленого серверу, просто наберіть plink і потім імя хосту: Z:\sysosd>plink login.example.com Ви повинні тоді мати ввійти як нормально і запустити сесію. Вивод, який надсилає сервер буде писатися прямо в вашому вікні командного рядку, яке, найімовірніше, не буде інтерпретуватися термінальними консольними кодами у спосіб в який очікує сервер. Отже, якщо ви виконуєте будь-який додаток у повному екрані, наприклад, ви можете очікувати побачити стані символи, які з'являються на вашому екрані. Інтерактивні з'єднання схожі на це не основне застосування Plink. Щоб з'єднатися з різними протоколами, ви можете дати опції командного рядку -ssh, -telnet, -rlogin чи -raw. Щоб зробити SSH з'єднання, наприклад: Z:\sysosd>plink -ssh login.example.com Якщо в вас вже є налаштована збережена сесія PuTTY, то замість того, щоб вказувати ім'я хосту, ви можете передати ім'я збереженої сесії. Це дозволяє вам використовувати автентифікацію публічним ключем, вказуючи ім'я користувача і використовувати багато інших можливостей PuTTY: Z:\sysosd>plink my-ssh-session 7.2.2 Використання Plink для автоматизації з'єднаньЧастіше за все Plink використовується з SSH протоколом, щоб дозволити вам звертатися напряму з програмою запущеною на сервері. Щоб зробити це ви повинні гарантувати, що Plink використовує SSH протокол. Ви можете зробити це у декілька шляхів:
Звичайно безпосередньо користувач не викликає Plink, а запускається автоматично іншим процесом. Тому звичайно ви не входите, щоб Plink запитував ваше ім'я користувача чи пароль. Далі ви, імовірно, потребуєте в униканні різноманітних інтерактивних підказок, які може видати Plink. Вас могли б попросити перевірити хост-ключ серверу, з яким ви з'єднуєтесь, ввести ім'я користувача чи ввести пароль. Щоб уникнути запитів для серверного хост-ключу, коли використовуєте Plink для автоматизованих з'єднань, ви повинні спершу зробити ручне з'єднання (використовуючи або PuTTY або Plink) до того ж серверу, перевірити хост-ключ (дивиться секцію 2.2 за більшою кількістю інформаціх), і обрати Yes, щоб додати хост-ключ у Реест (Registry). Після цього команда Plink з'єднується з цим сервером не показуючи підказку хост-ключу, якщо хост-ключ не змінюється. Щоб уникнути підказок для імені користувача ви можете:
Щоб уникнути підказок для паролю, ви повинні майже напевно встановити автентифікацію публічним ключем. (Дивиться розділ 8 для загального вступу в автентифікацію публічним ключем). Знов, ви можете зробити це двома шляхами:
Лише ви завершили все це, ви повинні мати можливість виконати віддалену команду на SSH машині сервері і виконати її автоматично без підказок: Z:\sysosd>plink login.example.com -l fred echo hello, world Чи, якщо в вас є налаштована, збережена сесія з усіма деталями з'єднання: Z:\sysosd>plink mysession echo hello, world Тоді ви можете налаштувати інші програми для запуску команди Plink і діалогу з нею так, ніби цей процес на машині сервері. 7.2.3 Опції командного рядку PlinkPlink приймає усі загальні опції командного рядку, які підтримуються утилітами PuTTY. Дивиться розділ 3.7.3 за описом цих опцій. Plink також підтримує деякі власні опції. Наступний розділ описує специфічні опції командного рядку Plink. 7.2.3.1 -batch: забороніть усі інтерактивні підказкиЯкщо ви використовуєте опцію -batch, Plink ніколи не буде видавати інтерактивну підказку при встановлені з'єднання. Якщо ключ хосту недосяжний, наприклад (дивиться розділ 2.2), то з'єднання буде просто перервано замість того, щоб запитати в вас, що робити далі. Така поведінка Plink може допомогти, коли він використовується в автоматизованих сценаріях: використовуючи -batch, якщо щось йде не так під час з'єднання, пакетна робота перерветься замість того, щоб зависнути. 7.2.3.2 -s: віддалені команди у підсистемі SSHЯкщо ви вкажете опцію -s, Plink передасть вказану команду, як ім'я SSH ‘subsystem’, а не звичайного командного рядку. (Ця опція має значення з протоколом SSH-2.) 7.3 Використання Plink у batch (пакетних) файлах і сценаріяхЛишень ви налаштували Plink на з'єднання з віддаленим сервером без інтерактивних підказок (дивиться розділ 7.2.2), ви маєте змогу використовувати його для багатьох цілей сценаріїв і пакетів. Наприклад, для запуску резервного копіювання на віддаленій машині ви можете використовувати команду схожу на цю: plink root@myserver /etc/backups/do-backup.sh Чи, можливо, у вас є бажання вибрати усі строки системного реєстру, що стосуються подробиць зони мережі: plink mysession grep /~fred/ /var/log/httpd/access.log > fredlog Використовуючи Plink таким чином ви можете запустити будь-яку корисну, не інтерактивну команду у командному рядку серверу за допомогою пакетного файлу. 7.4 Використання Plink з CVSДля використання Plink з CVS вам необхідно встановити змінну оточення CVS_RSH, яка вказує на Plink: set CVS_RSH=\path\to\plink.exe Також ви потребуєте у прийнятті мір, щоб мати можливість з'єднатися з хостом без будь-яких інтерактивних підказок, як описано у розділі 7.2.2. Тоді ви можете запустити CVS, як нижче: cvs -d :ext:user@sessionname:/path/to/repository co module Якщо ви вказали ім'я користувача в вашій збереженій сесії вам, навіть, не треба вказувати частину «користувача» цього і ви можете просто сказати: cvs -d :ext:sessionname:/path/to/repository co module 7.5 Використання Plink з WinCVSPlink також може бути використаний з WinCVS. По-перше, прийміть міри, щоб Plink зміг з'єднатись з віддаленим хостом не інтерактивно, як описано у розділі 7.2.2. Потім, у WinCVS, викличте діалог ‘Preferences’ з меню Admin та перейдіть на вкладку ‘Ports’. Відмітте поле з назвою ‘Check for an alternate rsh name’ і у полі вводу тексту справа введіть повний шлях до plink.exe. Натисніть ‘OK’ у вікні діалогу ‘Preferences’. Далі, оберіть выберите ‘Command Line’ у WinCVS меню ‘Admin’ та неберіть команду CVS, як у розділі 7.4, наприклад: cvs -d :ext:user@hostname:/path/to/repository co module чи (якщо ви використовуєте збережену сесію): cvs -d :ext:user@sessionname:/path/to/repository co module Оберіть директорію, яку ви бажаєте перевірити кнопкою ‘Change Folder’ та натисніть ‘OK’ для перевірки вашого модулю. Лишень ви перевірили модулі, WinCVS з радістю викличе Plink з GUI для операцій CVS. |
|
| Початок підрозділу PuTTY 0.56 | ||