Unix shell: работа, программы SSH
Для работы со своим веб-сервером можно использовать unix shell. Работая с терминалом удаленного unix-сервера (мы используем FreeBSD) можно выполнять операции с файлами, запускать бинарные программы и скрипты, компилировать исполняемые файлы, устанавливать дополнительные perl-модули и так далее. Доступ в unix shell присутствует во всех старших тарифных планах хостинга, начиная с «Аспиранта'11».
- Как подключить услугу доступа в unix shell
- Параметры соединения и программное обеспечение
- Подключение к виртуальной площадке
- Подключение к виртуальному серверу
- Что полезно знать о unix shell вообще
- Дополнительная литература, ограничения и предупреждения
- Полезные команды Unix
- Основные команды текстовых редакторов
Как подключить услугу доступа в unix shell
Для подключения услуги доступа в unix shell пользователю необходимо зайти в панель управления , выбрать в разделе Древо услуг необходимую виртуальную площадку, далее нажать ссылку «Включить SSH». Все реквизиты доступа будут выведены на экран и высланы вам на контактный e-mail, указанный в панели управления.
Параметры соединения и программное обеспечение
Для установки соединения в терминальном режиме (unix shell) нужно скачать специальную программу-клиент, которая работает по протоколу SSH версии 2. Мы рекомендуем использовать программу putty, но вы можете использовать любое другое поддерживающее SSH2 программное обеспечение. Скачать последнюю версию программы putty можно здесь.
Ниже приведены инструкции, как зайти на виртуальную площадку и как зайти на виртуальный сервер по протоколу SSH.
Подключение к виртуальной площадке
После запуска putty нужно указать хост для соединения по SSH-протоколу. Доступ осуществляется по адресу вида uXXXXX.ssh.masterhost.ru, где uXXXXX соответствует вашему логину для FTP-доступа, а также названию виртуальной площадки. Порт для соединения — 22, протокол — SSH, версия протокола (возможно, понадобится) — 2 (два). Настройте putty по этой картинке и нажмите на кнопку Open:
Putty откроет соединение к SSH-серверу и задаст вам вопрос в новом окошке о том, принять и сохранить ли принятый с этого сервера ключ в списке постоянных ключей. Ответьте согласием (yes) на этот вопрос (без вариантов).
Далее вы увидите приглашение ввести логин. Используйте логин вида uXXXXX (мы упоминали его выше) и пароль, который получили при регистрации доступа в unix shell. Пароль при вводе отображаться не будет. Если логин и пароль будут введены правильно, вы попадете в unix shell.
Подключение к виртуальному серверу
После запуска putty нужно указать хост для соединения по SSH-протоколу. Доступ осуществляется по адресу вида vXXXX.vps.masterhost.ru, где vXXXX — имя вашего виртуального сервера (вы его можете посмотреть в панели управления Древо услуг > Виртуальный сервер vXXXX). Порт для соединения — 22, протокол — SSH, версия протокола (возможно, понадобится) — 2 (два). Настройте putty по этой картинке и нажмите на кнопку Open:
Putty откроет соединение к SSH-серверу и задаст вам вопрос в новом окошке о том, принять и сохранить ли принятый с этого сервера ключ в списке постоянных ключей. Ответьте согласием (yes) на этот вопрос.
Далее вы увидите приглашение ввести логин. Используйте логин root и пароль, который получили в письме при создании VPS. Пароль при вводе отображаться не будет. Если логин и пароль будут введены правильно, вы попадете в 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 серверу в терминальном режиме только в целях работы с веб-сервером и не разрешаем установку на сервер любого программного обеспечения, не имеющего прямого отношения к веб-хостингу. К разряду такого ПО можно отнести прокси-серверы, socks-серверы, irc-серверы и irc-боты и так далее. Такое и подобное ПО не будет работать на наших серверах и мы примем все меры к тому, чтобы вовремя обнаружить его и отключить.
Обращаем особое внимание на то, что если вы не имеете достаточного опыта работы в unix shell, нужно стараться совершать все действия аккуратно. Например, вы можете «случайно» стереть одной командой все содержимое своего сервера. Наверняка, этого не случится, но, тем не менее, старайтесь относиться к работе с удаленной unix-системой ответственно. В помощь вам мы приводим ссылки на полезную документацию по Unix:
- «UNIX для веб-мастера» — Дмитрий Турецкий, hostinfo.ru;
- «Введение в Unix» — Дегтярев Е.К., opennet.ru;
- «Unix basics» — FreeBSD handbook, freebsd.org.
Полезные команды Unix
Unix shell на нашем сервере может использоваться вами как удобное средство для копирования или перемещения файлов. Для копирования используется команда cp, а для перемещения — mv. Команда 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. При таком режиме доступа его никто не сможет открыть. Так можно быстро запретить доступ через веб к какому-то файлу.
Команда rm — удаляет файлы или каталоги.
Команда rm используется для удаления файлов или директорий. По умолчанию директории не удаляются. Для того, чтобы удалить директорию вместе с содержимым, следует использовать ключ -r.
Примеры:
- rm index.php — удалить файл index.php (файл располагается в текущей директории);
- rm -r cache — удалить директорию cache;
- rm /home/u12345/domain.tld/www/index.php — удалить файл index.php (указан полный путь к файлу).
Основные команды текстовых редакторов
Приведем пример для редакторов vi и joe. Файлы с помощью них открываются командами vi test.txt или joe test.txt
Редактор VI
- i — войти в режим редактирования;
- /test — найти в файле строку, содержащую слово «test»;
- 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(найти далее).
