Таблица 16.1. Примеры команд интерактивного сеанса ftp
Команда
Значение
ftp fileserver
Вызывает программу ftp и предлагает ей подключиться к серверу
anonymous
Имя пользователя для входа. После ввода имени пользователя появится приглашение ввести пароль. Некоторые серверы принимают пустой пароль. Другие могут требовать пароль в формате адреса электронной почты. В данном случае попробуйте что-нибудь похожее на
cd pub/cd_images/Ubuntu-8.04
Выполняет переход в каталог в удаленной системе, где находится требуемый файл. Обратите внимание, что на большинстве анонимных серверов FTP файлы, доступные для загрузки всем желающим, находятся где-то в каталоге
ls
Выводит содержимое каталога в удаленной системе
lcd Desktop
Выполняет переход в каталог
get ubuntu-8.04-desktop-i386.iso
Посылает удаленной системе запрос на передачу файла
bye
Выходит из удаленной системы и завершает сеанс программы ftp. Также можно использовать команды quit и exit
Если в приглашении ftp> ввести команду help, программа выведет список поддерживаемых команд. С помощью программы ftp можно выполнять множество обычных операций с файлами на сервере, правда, при наличии достаточных привилегий. Это не очень удобно, но выполнимо.
lftp — более удачная версия ftp
ftp — не единственный клиент FTP командной строки. В действительности таких клиентов множество. Одним из лучших (и более популярным) считается lftp Александра Лукьянова (Alexander Lukyanov). Этот клиент действует почти так же, как традиционная программа ftp, но имеет множество дополнительных функций, включая поддержку нескольких протоколов (в том числе и HTTP), возможность автоматического восстановления прервавшейся загрузки, выполнение операций в фоновом режиме, автодополнение путей по клавише Tab и многое другое.
wget — неинтерактивный загрузчик файлов из сети
wget — еще одна популярная программа командной строки для загрузки файлов. Ее удобно использовать для загрузки содержимого веб- и FTP-сайтов. С помощью wget можно загрузить один файл, несколько файлов и даже целый сайт. Например, загрузить первую страницу сайта
[me@linuxbox ~]$ wget http://linuxcommand.org/index.php
--11:02:51-- http://linuxcommand.org/index.php
=> `index.php'
Распознаётся linuxcommand.org... 66.35.250.210
Подключение к linuxcommand.org|66.35.250.210|:80... соединение установлено.
HTTP-запрос отправлен. Ожидание ответа… 200 OK
Длина: 3808 (3.7K) [text/html]
Сохранение в: "index.php"
[ <=> ] 3,120 --.--KB/s
11:02:51 (161.75 MB/s) - `index.php' сохранён [3808/30808]
Большинство параметров, поддерживаемых программой wget, позволяет организовать рекурсивную загрузку, загрузку файлов в фоновом режиме (позволяет выйти из системы без остановки загрузки) и догружать частично загруженные файлы. Эти возможности хорошо описаны на странице справочного руководства (man).
Безопасные взаимодействия с удаленными узлами
Уже много лет Unix-подобные операционные системы поддерживают возможность удаленного администрирования по сети. На первом этапе, еще до повсеместного распространения Интернета, существовала пара популярных программ для входа в удаленные сетевые узлы: rlogin и telnet. Однако эти программы страдали тем же фатальным недостатком, что и программа ftp; все данные (включая имена пользователей и пароли) они передавали в виде открытого текста. Это совершенно недопустимо в эпоху Интернета.
ssh — безопасный вход в удаленные компьютеры
Для решения описанной проблемы был разработан протокол с названием SSH (Secure Shell — безопасная командная оболочка). SSH решает две основные проблемы безопасного взаимодействия с удаленными сетевыми узлами. Во-первых, он подтверждает, что удаленный узел является именно тем, за кого себя выдает (это предотвращает атаки вида «злоумышленник в середине» (man-in-the-middle), и, во-вторых, шифрует все данные, передаваемые между локальным и удаленным узлами.
В своей работе протокол SSH опирается на два компонента. На удаленном узле действует сервер SSH, принимающий соединения на порте 22, а в локальной системе действует клиент SSH, осуществляющий обмен информацией с удаленным сервером.