Уильям Шоттс - Командная строка Linux. Полное руководство
- Название:Командная строка Linux. Полное руководство
- Автор:
- Жанр:
- Издательство:Питер
- Год:2016
- ISBN:978-5-496-02303-0
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
Уильям Шоттс - Командная строка Linux. Полное руководство краткое содержание
Книга Уильяма Шоттса "Командная строка Linux: Полное руководство" представляет обширный обзор «жизни» в командной строке Linux. В отличие от других книг, посвященных одной программе, такой как командный интерпретатор bash, в этой книге автор попытается рассказать, как поладить с интерфейсом командной строки в более широком аспекте. Как он работает? Что можно сделать с его помощью? Как лучше его использовать? Эта книга не об администрировании системы Linux. Эта книга исключительно о Linux.
В книге материал излагается в тщательно выверенной последовательности, как в школе, где учитель руководит вами и направляет вас по правильному пути. Многие авторы грешат тем, что подают материал в «систематическом» порядке, имеющем определенный смысл для писателя, но способном вызывать путаницу у начинающих пользователей. Цель данной книги — познакомить вас с идеологией Unix, которая отличается от идеологии Windows.
Командная строка Linux. Полное руководство - читать онлайн бесплатно полную версию (весь текст целиком)
Интервал:
Закладка:
wget — неинтерактивный загрузчик файлов из сети
wget — еще одна популярная программа командной строки для загрузки файлов. Ее удобно использовать для загрузки содержимого веб- и FTP-сайтов. С помощью wget можно загрузить один файл, несколько файлов и даже целый сайт. Например, загрузить первую страницу сайта http://www.linuxcommand.org/ можно командой:
[me@linuxbox ~]$ wget http://linuxcommand.org/index.php
--11:02:51-- http://linuxcommand.org/index.php
=> `index.php'
Распознаётся linuxcommand.org... 66.35.250.210
Подключение к linuxcommand.org|66.35.250.210|:80... соединение установлено.
HTTP-запрос отправлен. Ожидание ответа… 200 OK
Длина: 3808 (3.7K) [text/html]
Сохранение в: "index.php"
[ <=> ] 3,120 --.--KB/s
11:02:51 (161.75 MB/s) - `index.php' сохранён [3808/30808]
Большинство параметров, поддерживаемых программой wget, позволяет организовать рекурсивную загрузку, загрузку файлов в фоновом режиме (позволяет выйти из системы без остановки загрузки) и догружать частично загруженные файлы. Эти возможности хорошо описаны на странице справочного руководства (man).
Безопасные взаимодействия с удаленными узлами
Уже много лет Unix-подобные операционные системы поддерживают возможность удаленного администрирования по сети. На первом этапе, еще до повсеместного распространения Интернета, существовала пара популярных программ для входа в удаленные сетевые узлы: rlogin и telnet. Однако эти программы страдали тем же фатальным недостатком, что и программа ftp; все данные (включая имена пользователей и пароли) они передавали в виде открытого текста. Это совершенно недопустимо в эпоху Интернета.
ssh — безопасный вход в удаленные компьютеры
Для решения описанной проблемы был разработан протокол с названием SSH (Secure Shell — безопасная командная оболочка). SSH решает две основные проблемы безопасного взаимодействия с удаленными сетевыми узлами. Во-первых, он подтверждает, что удаленный узел является именно тем, за кого себя выдает (это предотвращает атаки вида «злоумышленник в середине» (man-in-the-middle), и, во-вторых, шифрует все данные, передаваемые между локальным и удаленным узлами.
В своей работе протокол SSH опирается на два компонента. На удаленном узле действует сервер SSH, принимающий соединения на порте 22, а в локальной системе действует клиент SSH, осуществляющий обмен информацией с удаленным сервером.
Большинство дистрибутивов Linux включают реализацию SSH с названием OpenSSH из проекта BSD. Некоторые дистрибутивы (например, Red Hat) по умолчанию содержат пакеты с обоими компонентами, сервером и клиентом, тогда как другие (например, Ubuntu) включают только клиента. Чтобы система могла принимать удаленные соединения, в ней должен быть установлен пакет с реализацией сервера OpenSSH-server, этот сервер должен быть настроен и запущен, и если система находится за брандмауэром, последний должен пропускать входящие соединения на порт TCP с номером 22.
ПРИМЕЧАНИЕ
Если у вас нет удаленной системы, с которой можно было бы устанавливать соединения, но вы желаете поработать с примерами, приведенными ниже, установите пакет OpenSSH-server в своей системе и используйте имя localhost в качестве имени удаленного узла. В этом случае ваш компьютер будет устанавливать соединения с самим собой.
Программа клиента SSH, используемая для подключения к серверам SSH, имеет достаточно очевидное имя: ssh. Подключиться к удаленному сетевому узлу с именем remote-sys можно с помощью программы клиента ssh, как показано ниже:
[me@linuxbox ~]$ ssh remote-sys
The authenticity of host 'remote-sys (192.168.1.4)' can't be established.
RSA key fingerprint is 41:ed:7a:df:23:19:bf:3c:a5:17:bc:61:b3:7f:d9:bb.
Are you sure you want to continue connecting (yes/no)?8
При первой попытке подключения на экран выводится предупреждение, сообщающее, что аутентичность удаленного узла не может быть установлена. Это объясняется тем, что программа-клиент прежде никогда не подключалась к данному удаленному узлу. Чтобы принять идентификационные данные удаленного узла, введите yes в ответ на приглашение. После установки соединения пользователю будет предложено ввести пароль:
Warning: Permanently added 'remote-sys,192.168.1.4' (RSA) to the list of known hosts.
me@remote-sys's password:9
После ввода действительного пароля в терминале появится приглашение командной оболочки из удаленной системы:
Last login: Tue Aug 30 13:00:48 2011
[me@remote-sys ~]$
Сеанс с удаленной командной оболочкой продолжается, пока пользователь не введет команду exit в приглашении удаленной командной оболочки, после чего соединение закроется. В этот момент возобновится сеанс локальной командной оболочки и появится ее приглашение к вводу.
К удаленной системе можно также подключиться с другим именем пользователя. Например, если локальный пользователь me имеет в удаленной системе учетную запись с именем bob, он сможет войти в удаленную систему с именем bob, выполнив следующую команду:
[me@linuxbox ~]$ ssh bob@remote-sys
bob@remote-sys's password:
Last login: Tue Aug 30 13:03:21 2011
[bob@remote-sys ~]$
Как отмечалось выше, ssh проверяет аутентичность удаленного узла. Если удаленный узел не пройдет аутентификацию, появится следующее предупреждение:
[me@linuxbox ~]$ ssh remote-sys
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that the RSA host key has just been changed.
183
The fingerprint for the RSA key sent by the remote host is
41:ed:7a:df:23:19:bf:3c:a5:17:bc:61:b3:7f:d9:bb.
Please contact your system administrator.
Add correct host key in /home/me/.ssh/known_hosts to get rid of this message.
Offending key in /home/me/.ssh/known_hosts:1
RSA host key for remote-sys has changed and you have requested strict
checking.
Host key verification failed10.
Это сообщение появляется в двух возможных ситуациях. Первая: злоумышленник мог попытаться провести атаку вида «злоумышленник в середине». Это случается редко, потому что все знают, что ssh предупреждает пользователя об этом. Более вероятная причина связана с некими изменениями в удаленной системе: например, была выполнена переустановка операционной системы или сервера SSH. Однако в интересах безопасности не следует сбрасывать со счетов первую возможность. Всегда обращайтесь к системному администратору удаленной системы, когда появится это сообщение.
Убедившись в безобидности причин, вызвавших это сообщение, можно исправить проблему на стороне клиента. Для этого с помощью текстового редактора (например, vim) удалите устаревший ключ из файла ~/.ssh/known_hosts. В примере сообщения выше присутствует строчка:
Offending key in /home/me/.ssh/known_hosts:111
Это означает, что подозреваемый ключ хранится в строке 1, в файле known_hosts. Удалите эту строку из файла и позвольте программе ssh принять новые идентификационные данные от удаленной системы.
Помимо открытия сеанса командной оболочки в удаленной системе ssh позволяет также выполнить единственную команду. Например, в удаленной системе remote-sys можно выполнить команду free и получить результаты в локальной системе:
Читать дальшеИнтервал:
Закладка: