Опубликован: 26.07.2011 | Уровень: для всех | Доступ: свободно
Лекция 8:

Настройка некоторых сетевых служб в Debian GNU/Linux

< Лекция 7 || Лекция 8: 12 || Лекция 9 >
Аннотация: Приведены простые примеры настройки серверов ssh, apache и squid.

Содержание:

  1. Сервер защищенных соединений (ssh)
  2. HTTP-сервер Apache
  3. Кэширующий прокси-сервер Squid

Сервер защищенных соединений (ssh)

Протокол SSH (Secure SHell) позволяет получить удаленный доступ к компьютеру по безопасному соединению (работает на уровне потоков данных) [ 35 ] , [ 28 ] . Существуют две версии этого протокола: SSH-1 (считается ненадежной) и SSH-2 (рекомендована к использованию). SSH реализуется двумя приложениями: сервером и клиентом. При подключении клиент проходит процедуру аутентификации и между клиентом и сервером устанавливается защищенное соединение.

В Linux для реализации SSH используется программное обеспечение OpenSSH [ 36 ] . Для установки сервера в Debian можно использовать команду:

# apt-get install openssh-server

В процессе установки сервер автоматически прописывается в автозагрузку и запускается. По умолчанию сервер слушает на TCP-порту с номером 22 на всех интерфейсах:

# ss -4nlp sport = :ssh
Recv-Q Send-Q         Local Address:Port      Peer Address:Port 
0      128               *:22             *:*          users:(("sshd",983,3))

Для остановки/запуска/перезапуска сервера можно использовать скрипт ssh в каталоге /etc/init.d с параметром stop/start/restart соответственно, например для перезапуска:

# /etc/init.d/ssh restart

Конфигурационный файл сервера sshd_config расположен в каталоге /etc/ssh. В настройках по умолчанию указано использовать аутентификацию на основе публичных ключей ( PubkeyAuthentication yes ) или логина и пароля ( PasswordAuthentication yes ), разрешать удаленное подключение суперпользователя ( PermitRootLogin yes ), использовать SSH-2 ( Protocol 2 ), не разрешать пустые пароли ( PermitEmptyPasswords no ) и т. д. Для применения внесенных изменений в конфигурацию необходимо перезапустить сервер.

Для того, чтобы сервер ssh слушал на адресе 192.168.56.102 необходимо в файле /etc/ssh/sshd_config раскомментировать и исправить опцию ListenAddress:

ListenAddress 192.168.56.102
Листинг 8.1. Изменение настроек сервера ssh

Затем перезапустить openssh-server:

# /etc/init.d/ssh restart

Результат можно проверить командой ss:

# ss -4nl sport = :ssh
Recv-Q Send-Q      Local Address:Port         Peer Address:Port 
   0    128       192.168.56.102:22                      *:*

Для получения удаленного доступа к командному интерпретатору на клиентской системе необходимо использовать утилиту ssh, которая обычно присутствует в базовой установке системы (ее также можно установить, используя команду apt-get install openssh-client ). В качестве параметра надо указать имя пользователя и IP-адрес (имя удаленной системы) используя символ @ в качестве разделителя (пример 8.2):

$ ssh root@192.168.56.102
The authenticity of host '192.168.56.102 (192.168.56.102)' can't be established.
RSA key fingerprint is d7:33:4d:e3:0b:e2:ec:57:48:34:f1:77:88:ab:77:de.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.56.102' (RSA) to the list of known hosts.
root@192.168.56.102's password: 
Linux ssl1 2.6.32-5-686 #1 SMP Wed Jan 12 04:01:41 UTC 2011 i686
The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.
Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Wed Apr  6 13:19:19 2011 from 192.168.56.1
root@ssl1:~#
Листинг 8.2. Первое подключение к удаленной системе

При первом подключение будет выдано предупреждение о неизвестном узле. При ответе yes, удаленный узел будет добавлен в список известных узлов (файл ~/.ssh/known_hosts ) и при последующих подключениях предупреждение не будет выдаваться. Затем нужно ввести пароль. После успешного ввода пароля будет предоставлен доступ к интерфейсу командной строки удаленной системы. Для завершения удаленного сеанса следует использовать команду exit.

Для копирования файлов по протоколу ssh можно использовать утилиту scp, при этом на одной из систем должен быть установлен ssh-сервер (примеры 8.3 и 8.4).

# scp root@192.168.56.102:/boot/initrd.img-2.6.32-5-686 .
root@192.168.56.102's password: 
initrd.img-2.6.32-5-686                100% 8318KB   8.1MB/s   00:01
Листинг 8.3. Копирование файла из удаленной системы

В данном примере файл копируется из указанного пути (/boot/initrd.img-2.6.32-5-686) удаленной системы (192.168.56.102) в текущий каталог локальной системы (.). Для этого используется учетная запись суперпользователя удаленной системы.

$ scp known_hosts root@192.168.56.102:/root
Листинг 8.4. Копирование файла на удаленную систему

В данном примере файл ( known_hosts ) копируется из текущего каталога локальной системы в каталог суперпользователя (/root ) удаленной системы.

Для копирования каталогов в команде scp нужно использовать ключ -r.

Примечание: Для операционных систем семейства Windows также существуют программы клиенты ssh [ 37 ] , [ 38 ] .
< Лекция 7 || Лекция 8: 12 || Лекция 9 >
Нияз Сабиров
Нияз Сабиров

Здравствуйте. А уточните, пожалуйста, по какой причине стоимость изменилась? Была стоимость в 1 рубль, стала в 9900 рублей.

Елена Сапегова
Елена Сапегова

для получения диплома нужно ли кроме теоретической части еще и практическую делать? написание самого диплома требуется?

Владислав Ветошкин
Владислав Ветошкин
Россия, Ижевск, Ижевский государственный технический университет имени А.Т. Калашникова, 2011
Саламат Исахан
Саламат Исахан
Россия, Turkistan