Unix shell: работа, программы SSH

Discussion in 'Безопасность и Анонимность' started by PandoraBox, 8 Apr 2008.

  1. PandoraBox

    PandoraBox Elder - Старейшина

    Joined:
    6 May 2007
    Messages:
    262
    Likes Received:
    176
    Reputations:
    7
    Unix shell: работа, программы SSH

    Параметры соединения и программное обеспечение
    Для установки соединения в терминальном режиме (unix shell) нужно скачать специальную программу-клиент, которая работает по протоколу SSH версии 1. Мы рекомендуем использовать программу putty, но вы можете использовать любое другое поддерживающее SSH1 программное обеспечение. Скачать последнюю версию программы putty можно здесь.

    Подключение к виртуальной машине
    После запуска putty нужно указать хост для соединения по SSH-протоколу. Доступ осуществляется по адресу вида site.ru, где site.ru соответствует вашему домену/ИП так же потребуется пароль и логин для аутификации. Порт для соединения — 22, протокол — SSH, версия протокола (возможно, понадобится) — 1 (один). Настройте putty по этой картинке и нажмите на кнопку Open:

    [​IMG]

    Putty откроет соединение к SSH-серверу и задаст вам вопрос в новом окошке о том, принять и сохранить ли принятый с этого сервера ключ в списке постоянных ключей. Ответьте согласием (yes) на этот вопрос (без вариантов).

    [​IMG]

    Далее вы увидите приглашение ввести логин. Используйте логин и пароль, который получили при регистрации доступа в unix shell. Если логин и пароль будут введены правильно, вы попадете в unix shell.

    Что полезно знать о unix shell вообще
    SSH — это аббревиатура Secure SHell, удаленный доступ к командной оболочке наших Unix-серверов. Вы даете серверу команды в диалоговом режиме, а он исполняет их и показывает результаты, совершая при этом запрашиваемые вами действия.

    В отличие от Windows-систем, в Unix важен регистр букв в названиях файлов и именах команд. То есть, файлы index.htm, index.HTM И INDEX.HTM — три разных файла. Команды ls и LS — тоже разные (второй не существует, в частности). Обратите на это особое внимание.

    [​IMG]

    В описании путей к файлам на диске используется не символ '\' как в Windows, а '/' — символ 'прямой слэш' (forward slash). То есть, привычный путь Dir1\Dir2\file.html будет выглядеть в unix как Dir1/Dir2/file.html. Существуют также условные ссылки на каталоги:
    • . — текущий каталог
    • .. — каталог на уровень выше текущего
    • ~ — домашний каталог, куда вы попадаете при заходе на сервер
    • $HOME — тоже домашний каталог
    [​IMG]

    Лучше не называть файлы и каталоги по-русски. У вас могут возникнуть проблемы с использованием таких названий как через FTP и unix shell, так и через веб-доступ. Наверняка вы уже давно для себя отметили, что в адресах веб-страниц практически никогда не встречаются кириллические буквы. По возможности используйте латиницу.

    [​IMG]

    Дополнительная литература, ограничения и предупреждения
    Обратим особое внимание на то, что если вы не имеете достаточного опыта работы в unix shell, нужно стараться совершать все действия аккуратно. Например, вы можете «случайно» стереть одной командой все содержимое своего сервера. Наверняка, этого не случится, но, тем не менее, старайтесь относиться к работе с удаленной unix-системой ответственно. В помощь приводем ссылки на полезную документацию по Unix:Полезные команды 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 устанавливает время ожидания ответа от сервера, в секундах.
     
    #1 PandoraBox, 8 Apr 2008
    Last edited: 26 Aug 2008
    3 people like this.
  2. ~X3RiX~

    ~X3RiX~ Banned

    Joined:
    14 Mar 2008
    Messages:
    22
    Likes Received:
    7
    Reputations:
    -5
    putty рульная прога!
     
  3. CrazyStudentS_Mi}{

    CrazyStudentS_Mi}{ Elder - Старейшина

    Joined:
    4 Jul 2007
    Messages:
    424
    Likes Received:
    296
    Reputations:
    92
    все так красочно описал а удаление файлов забыл.............. :)

    rm имя_файла
     
    1 person likes this.
  4. nikto

    nikto Elder - Старейшина

    Joined:
    2 Mar 2008
    Messages:
    39
    Likes Received:
    11
    Reputations:
    4
    Не совсем понятно что putty делает в разделе *nix. Но наверно многим будет полезно.
    Для тех, кто не пользуется виндой, а обязательно хочется фронтенда для ссх - есть kssh, вроде нормальная/удобная оболочка. Хотя смысла особого не вижу.
    На счет версий протоколов: насколько я понимаю сейчас 2-ая версия более часто используется.