Unix shell: работа, программы SSH Параметры соединения и программное обеспечение Для установки соединения в терминальном режиме (unix shell) нужно скачать специальную программу-клиент, которая работает по протоколу SSH версии 1. Мы рекомендуем использовать программу putty, но вы можете использовать любое другое поддерживающее SSH1 программное обеспечение. Скачать последнюю версию программы putty можно здесь. Подключение к виртуальной машине После запуска putty нужно указать хост для соединения по SSH-протоколу. Доступ осуществляется по адресу вида site.ru, где site.ru соответствует вашему домену/ИП так же потребуется пароль и логин для аутификации. Порт для соединения — 22, протокол — SSH, версия протокола (возможно, понадобится) — 1 (один). Настройте putty по этой картинке и нажмите на кнопку Open: Putty откроет соединение к SSH-серверу и задаст вам вопрос в новом окошке о том, принять и сохранить ли принятый с этого сервера ключ в списке постоянных ключей. Ответьте согласием (yes) на этот вопрос (без вариантов). Далее вы увидите приглашение ввести логин. Используйте логин и пароль, который получили при регистрации доступа в unix shell. Если логин и пароль будут введены правильно, вы попадете в unix shell. Что полезно знать о unix shell вообще SSH — это аббревиатура Secure SHell, удаленный доступ к командной оболочке наших Unix-серверов. Вы даете серверу команды в диалоговом режиме, а он исполняет их и показывает результаты, совершая при этом запрашиваемые вами действия. В отличие от Windows-систем, в Unix важен регистр букв в названиях файлов и именах команд. То есть, файлы index.htm, index.HTM И INDEX.HTM — три разных файла. Команды ls и LS — тоже разные (второй не существует, в частности). Обратите на это особое внимание. В описании путей к файлам на диске используется не символ '\' как в Windows, а '/' — символ 'прямой слэш' (forward slash). То есть, привычный путь Dir1\Dir2\file.html будет выглядеть в unix как Dir1/Dir2/file.html. Существуют также условные ссылки на каталоги: . — текущий каталог .. — каталог на уровень выше текущего ~ — домашний каталог, куда вы попадаете при заходе на сервер $HOME — тоже домашний каталог Лучше не называть файлы и каталоги по-русски. У вас могут возникнуть проблемы с использованием таких названий как через FTP и unix shell, так и через веб-доступ. Наверняка вы уже давно для себя отметили, что в адресах веб-страниц практически никогда не встречаются кириллические буквы. По возможности используйте латиницу. Дополнительная литература, ограничения и предупреждения Обратим особое внимание на то, что если вы не имеете достаточного опыта работы в unix shell, нужно стараться совершать все действия аккуратно. Например, вы можете «случайно» стереть одной командой все содержимое своего сервера. Наверняка, этого не случится, но, тем не менее, старайтесь относиться к работе с удаленной unix-системой ответственно. В помощь приводем ссылки на полезную документацию по Unix: «UNIX для веб-мастера» — Дмитрий Турецкий, hostinfo.ru; «Введение в Unix» — Дегтярев Е.К., opennet.ru; «Unix basics» — FreeBSD handbook, freebsd.org. Полезные команды Unix Команда cp — копирование файлов на сервере Команда mv — перемещение файлов на сервере Unix shell на нашем сервере может использоваться вами как удобное средство для копирования или перемещения файлов. Для копирования используется команда cp, а для перемещения — mv. Команда cp имеет также ключ -r (полностью cp -r), который позволяет копировать не только файлы, но и подкаталоги с файлами. Примеры: cp old/*.html new/ — копируем все файлы с расширением *.html из каталога old в каталог new cp -r old/* new/ — копируем все файлы и подкаталоги из каталога old в каталог new mv old/* new/ — перемещаем (копируем и удаляем на старом месте) все содержимое каталога old в каталог new Команда ls — просмотр списка файлов на сервере Команда ls используется для получения списка файлов, которые в данный момент размещены на Unix-сервере. Примеры: ls — показывает список файлов в текущем каталоге ls -l — список файлов с подробностями (дата создания, размер,..) ls -l dir/ — получить список файлов и каталогов в подкаталоге dir с подробностями Команда cd — перейти в другой каталог Команда cd (полное название — chdir) используется для перехода из одного каталога на Unix-сервере в другой. Выполняя такой переход вы изменяете текущий каталог на новый Примеры: cd — перейти в "домашний каталог" (куда вы попадаете сразу при заходе на сервер) cd .. — перейти в каталог на уровень выше cd /home/u12345/domain.ru/www/ — перейти в каталог /home/u12345/domain.ru/www/ Команда pwd — определить текущий каталог. Команда pwd (без параметров) позволяет определить — в каком каталоге на Unix-сервере вы находитесь в данный момент. Показывает полный путь к тому каталогу, который является для вас текущим. Может использоваться, например, для определения полного пути к домашнему каталогу пользователя — это иногда требуется указывать в некоторых скриптах на perl и PHP. Команда chmod — изменение режима доступа к файлам. Иногда требуется вручную изменить режим доступа к файлам на диске Unix-сервера.Зачастую это нужно при размещении на сервере CGI-скриптов. Подробно о работе chmod и режимах доступа можно прочитать в документации по chmod. Мы же приведем примеры работы с chmod в условиях хостинга: chmod 755 script.pl — изменить режим доступа к файлу script.pl на 755 (это нужный для скриптов режим доступа); chmod -R 755 cgi-bin/*.pl — изменить режим доступа на 755 для всех файлов с расширением *.pl в каталоге cgi-bin и во всех его подкаталогах; chmod 000 www/file.html — изменить режим доступа к файлу file.html в каталоге www на 000. При таком режиме доступа его никто не сможет открыть. Так можно быстро запретить доступ через веб к какому-то файлу. Основные команды текстовых редакторов Приведем пример для редакторов vi и joe. Файлы с помощью них открываются командами vi test.txt или joe test.txt Как быстро научится работать в редакторе VI? Первым делом нужно зайти в редактор, для этого набираем vi, а теперь попробуем выйти, для этого набираем :q или :q! если вы успели понажимать на разные клавиши. Теперь попробуем чтото написать. Заходим в редактор и нажимаем i, только после этого можете набирать текст. Если нужно удалить лишний символ, переходим в командный режим нажав ESC, подводим курсор к символу и жмём x. Если нужно писать дальше, вновь переходим в режим редактирования, для этого нажимаем i и продолжаем печатать текст. Список команд которые желательно запомнить: :q — выход :q! — выход без сохранения файла :w — сохранить файл на диске :wq — выход с сохранением файла :e! — перезагрузить текущий файл :33 — перепрыгнуть на 33ю строку текстового файла i — перейти в режим редактирования u — отменить последнее действие x — удалить символ под курсором dd — удалить всю строку /qso — найти слово qso в тексте после курсора Esc : wq Enter — выйти из файла, сохранив его; Esc : q! Enter — выйти из файла, не сохранив его. Чтобы получить подробную помощь по редактору vi, выполните команду man vi в Unix shell (q — выход из справки). Редактор JOE Ctrl+K H — справка по командам; Ctrl+K X — выход из файла с сохранением; Ctrl+K Q — выход без сохранения; Ctrl+C — выход без сохранения (удобен, если вы ничего не изменяли); Ctrl+K F — поиск строки; Ctrl+L — аналог F3 в Windows(найти далее). Коррекция часов вашего компьютера по сети На первом CD-диске находим архив n1/ntp4.tgz (xntp.tgz) и копируем из него только один исполняемый файл ntpdate в директорию /usr/sbin/ на HDD-диске. Для коррекции даты и времени в вашем компьютере запускаем: ntpdate адрес_сервера_времени Например: ntpdate -t 3 193.125.103.123 Опция -t устанавливает время ожидания ответа от сервера, в секундах.
Не совсем понятно что putty делает в разделе *nix. Но наверно многим будет полезно. Для тех, кто не пользуется виндой, а обязательно хочется фронтенда для ссх - есть kssh, вроде нормальная/удобная оболочка. Хотя смысла особого не вижу. На счет версий протоколов: насколько я понимаю сейчас 2-ая версия более часто используется.