Библиотека сайта rus-linux.net
Linux образца 2007 года на домашнем компьютере
(С) В.А.Костромин, 10 февраля 2008 г.
Mandriva 2007 Spring. Часть 4. FTP и SSH
FTP-клиент
Что касается FTP-клиента, я уже показывал в первой заметке этой серии, что в Midnight Commander имеется встроенный ftp-клиент, который меня вполне устраивает. Надо только найти, каким образом сохранить команду для создания FTP-соединения. Поскольку непосредственно в MC просматривать встроенную подсказку нет возможности, я открыл файл подсказки /usr/share/mc/mc.hlp.ru в редакторе Kate. Про FTP-соединение там нашлись следующие рекомендации.
/#ftp:[!][user[:pass]@]machine[:port][remote-dir]
Элементы user, port и remote-dir не обязательны. Если элемент user указан, то Midnight Commander будет пытаться логироваться на удаленный компьютер с этим именем, в противном случае будет использовано то имя, с которым Вы логировались на локальный компьютер.
Необязательный элемент pass (если указан) используется как пароль для входа. Однако явно задавать его не рекомендуется (также не записывайте его в Ваши hotlist, если только Вы не обеспечили соответствующую защиту этих файлов; но и тогда нельзя быть полностью уверенным в безопасности).
/#ftp:ftp.nuclecu.unam.mx/linux/local /#ftp:!behind.firewall.edu/pub /#ftp:guest@remote-host.com:40/pub
Для того, чтобы соединиться с сервером, который расположен за firewall, Вы должны использовать префикс ftp://! (то есть добавить восклицательный знак после двойного слэша), чтобы указать Midnight Commander на необходимость использования прокси для осуществления передач по ftp. Вы можете задать имя прокси в диалоговом окне Виртуальные ФС...(Virtual FS) меню "Настройки".
Таким образом, обращение к удаленному FTP-серверу осуществляется простой командой cd. И, действительно, задав в командной строке команду
cd /#ftp:login_name@rus-linux.net(login_name я, естественно, ввел правильное) я получил запрос на ввод пароля, после чего успешно вошел на сайт.
Однако надо заметить, что такая команда срабатывает только в том случае, если она запущена из вкладки "FTP-соединение", либо из командной строки Midnight Commander, но только при включенных панелях. Если отключить панели (комбинацией клавиш Ctrl+O) или выйти в "чистую" оболочку, та же команда не срабатывает. То есть MC играет в этом соединении существенную роль!
f FTP-соединение с rus-linux.net cd /#ftp:login_name@rus-linux.netОднако выполняться через меню команда отказалась, выдав сообщение "Нет такого файла или каталога".
Я попытался воспользоваться историей команд. С тем же успехом. Только тут я сообразил, что в выполнении соединения по FTP существенную роль играют механизмы, заложенные в MC. Так что придется вводить команду в строку ввода "FTP-соединение" заново. Конечно, это не глобальная проблема, просто маленькая неприятность. Так что разбираться с FTP заканчиваю.
SSH-клиент
ssh login_name@rus-linux.netЕсли в ответ на запрос пароля ввести его правильно, появится изменённое приглашение для ввода команд, то есть мы оказались в оболочке на удаленной машине. Можно выполнять команды, например, запустить там MC. Можно даже, говорят, запустить там графическую оболочку (сам я не пробовал). Но меня это не интересует, моя задача - передать на удаленную машину несколько файлов. Поискав среди ссылок, собранных на соответствующей странице своей "Виртуальной энциклопедии", я нашел неплохую статью "Хитрости SSH", в которой даны соответствующие рецепты. Не буду пересказывать ее содержание. В частности, там утверждается, что можно подключить удаленный сервер в одну из панелей MC, если воспользоваться командой "Меню - {Правая панель/Левая панель} - Shell-соединение". Все должно происходить вполне аналогично тому, как и подключение по протоколу ftp. Только в строке ввода нужно ввести
/#sh:login_name@rus-linux.netОбратите внимание на то, что указывается sh, а не ssh. Как утвержается в подсказке по MC, по умолчанию используется именно ssh, хотя можно специальной опцией задать использование rsh. Однако, как я понял, в моем случае подключение происходило по протоколу fish (по крайней мере именно это было обозначено у в командной строке). Да и с ним у меня что-то не заладилось. Подключение происходило, но отображался в панели MC не мой домашний каталог на удалеyном сервере, а каталог /home, причем пустой, и перейти в свой домашний каталог никак не удавалось.
В той же статье говорится, что можно аналогичным образом использовать ssh в Konqueror и Nautilus. Но Nautilus в Mandriva+KDE отсутствует, а в Konqueror мне добиться положительног результата не удалось. В меню программы я ничего похожего не нашел, и подсказка мне не помогла. Между прочим, встроенная справка к Konqueror сильно устарела, датирована 2003 годом.
Еще один вариант подключения, предлагаемый в той же статье "Хитрости SSH", а именно, мо нтирование удаленного каталога через ssh, у меня тоже не пошел. В результате, потратив почти два вечера на попытки настроить соединение с сервером по ssh, я эти попытки забросил.