faq SSH: шелл, собирательная информация

Автор: admin 04 Dec 2011 Отзывы Ваш отзыв

Данная заметка не является мануалом, а лишь попыткой систематизации неких накопленных знаний. Оформлена в виде faq. Содержание смотрим подкатом.

Определимся с понятием. SSH - сетевой протокол сеансового уровня, позволяющий производить удалённое управление операционной системой и туннелирование TCP-соединений (например, для передачи файлов). Схож по функциональности с протоколами Telnet и rlogin, но, в отличие от них, шифрует весь трафик, включая и передаваемые пароли. SSH допускает выбор различных алгоритмов шифрования. SSH-клиенты и SSH-серверы доступны для большинства сетевых операционных систем.

Для чего может понадобится SSH? да собственно много для чего: для манипуляций с файлами/каталогами server side, запуска скриптов CLI (из командной строки), обслуживания и настройки веб сервисов, в общем штука достаточно полезная и необходимый минимум ее знания еще никому не повредил. Пункты будут дополняться по мере готовности.

Клиент SSH, подключение, настройка.

Пути и диски.

Crontab. Просмотр/редактирование заданий.

Процессы.

Удобности.

Как то сразу рекомендую в качестве клиента SSH - Putty. Отличается простотой, незатейливостью интерфейса, да и не должен собственно быть сложным. Для подключения к серверу у вас должны быть данные подключения: IP (или хост, чаще IP), порт (по умолчанию 22, но иногда админы в целях безопасности настраивают другой), логин и пароль подключения. Данные сессии можно сохранить/редактировать - Saved Sessions.

ssh 1

Как видно, вводим IP, указываем порт (если ваш порт отличен от 22) и жмем Open. Вуаля, и если ssh соединение для вашего IP(в подавлющем ряде случаев по ssh можно зайти лишь с определенного IP) у сервера открыто, то получаем следующую картинку:

ssh 1

Вам будет предложено ввести логин (отобразится) и по нажатию на enter пароль (не отображается). Если пароль неверный, клиент снова попросит ввести. Если все верно, вы получите следующую картинку:

ssh 1

Обычно выводится всякая разная информация типа последнего посещения, версии операционной системы, и приглашение в ввиде знака $ и зеленого курсора (в зависимости от операционной системы приглашение может быть другим). В приведенном примере мы работаем под FreeBSD, там же кстати указан релиз системы.

вверх

Пути и диски. Знание пути и владение информацией о дисковом пространстве сервере позволит манипулировать файлами/каталогами.

pwd

выведет текущий каталог.

whereis

выведет путь/пути для конкретной программы/приложения. Скажем нам нужно для использования в crontab узнать путь к интерпретатору php, используем whereis php и наблюдаем

php: /usr/local/bin/php /usr/local/lib/php.ini /usr/local/lib/php

искомый путь - первый после двоеточия.

df -h

выведет инфу о дисках, месте на них, проценте использования:

Filesystem Size Used Avail Use% Mounted on
/dev/md3 2.0G 416M 1.5G 23% /
/dev/md6 2.0G 98M 1.8G 6% /tmp
/dev/md5 2.0G 1.4G 464M 76% /var

вверх

Crontab. Просмотр/редактирование заданий. Грубо говоря, crontab (планировщик) - файл с перечисленными построчно заданиями, запускаемыми согласно временным установкам. Не будем вдаваться в подробности установок времени для заданий, остановимся на том что можно сделать с crontab с помощью ssh.

crontab -l

вывод содержимого (листинг) crontab в ssh-клиент.

crontab -e

редактирование crontab. Команда открывает редактор по умолчанию. Очень часто это Vi. Чтобы отключить конкретный крон, можно закомментировать нужную строку в crontab (указать # в начале строки).

вверх

Процессы. Бывают системные, пользовательские. Порожденные апачем, демоном, кроном или приложением. Процессы могут быть запущены овнером(владельцем) с определенными правами. Скажем системный процесс не каждому юзеру подвластен. Каждый процесс имеет свой pid (по сути номер) в системе и оперируя им, можно осуществить с процессом различные манипуляции. Также процессы характеризуются приоритетом исполнения, отжираемой памятью и ресурсом процессора(ов). Зная pid процесса можно к примеру его убить:

kill 98989

Собственно для анализа и сбора информации о процессах, существует замечательная утилита top.

Когда pid процесса выяснит ь не удается, но мы знаем что процесс порожден апачем или php (не fast-cgi) поможет рестарт апача

apachectl restart

или можно убить все php процессы

killall php

вверх

Удобности. Сведем некие действия (в контексте Putty) не относящиеся к какому либо пункту - в один.

Скажем чтобы поместить текст в буфер обмена, нужно просто выделить его мышкой в окне клиента.

Или пролистать команды исполненные ранее в данной сессии ssh можно стрелками вверх вниз.

Чтобы выйти из приложения/прервать выполнение команды нужно нажать Ctrl+Z.

Чтобы вывести помощь/руководство по команде/приложению используем

man command

(например man ffmpeg). Чтобы увидеть версию/краткое описание/конфиг достаточно иногда просто использовать команду без параметров.

вверх

Рубрика: FAQ

Теги: , ,

Ссылка на заметку:

Отзывов нет

Комментариев пока нет.

Оставьте свой отзыв

Имя Сообщение
E-mail (обязательно)
Введите 3 + 4 =