русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Система SSH


Дата добавления: 2015-07-09; просмотров: 566; Нарушение авторских прав


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

В GNU/Linux используется свободная версия системы SSH — OpenSSH.

Пакет OpenSSH представлен тремя основными программами:

r sshd — сервер SSH, прослушивающий 22-й порт TCP;

r ssh — клиент службы SSH, позволяющий инициировать удаленный сеанс;

r scp — программа для удаленного копирования.

Серверная и клиентская части системы OpenSSH обладают разными файлами конфигурации: сервер sshd имеет конфигурационный файл /etc/ssh/sshd_config, а клиенты ssh и scp — /etc/ssh/ssh_config.

Сервер OpenSSH запускается самостоятельно (stand-alone) с помощью сцена- рия в каталоге /etc/init.d, поэтому для автоматического старта сервера OpenSSH при переходе в многопользовательский режим следует надлежа- щим образом сконфигурировать систему инициализации.

Для инициирования сеанса на удаленной машине с запущенным серве- ром OpenSSH достаточно на клиентском узле просто выполнить команду ssh, указав ей в качестве аргумента имя или IP-адрес узла назначения (при- мер 22.12).


 

Пример 22.12. Вход в сеанс SSH

 

$ ssh note

The authenticity of host 'note (192.168.11.25)' can't be established. RSA key fingerprint is ac:1d:51:58:6f:f4:3a:b9:a7:ac:82:b3:25:1e:3a:30. Are you sure you want to continue connecting (yes/no)? yes

Warning: Permanently added 'note,192.168.11.25' (RSA) to the list of known hosts.

user@note's password:

Last login: Fri Jul 2 19:33:26 2004

$ hostname note.class.edu

$ exit logout

Connection to note closed.



 

В примере 22.12 пользователь user открыл с помощью команды ssh удален- ный сеанс на узле note.class.edu. При этом был использован простейший вариант аутентификации с использованием пароля. Обратите внимание на то, что, т. к. вход в сеанс с данного узла осуществлялся впервые, сервер OpenSSH предупредил, что внес данные о клиентском узле в файл ~/.ssh/known_hosts. В этом файле хранятся специальные шифрованные сигнатуры, позволяющие идентифицировать клиентский узел.

Одной из наиболее часто используемых опций команды ssh является -l, с помощью которой можно указать имя пользователя для входа в сеанс (при- мер 22.13).

 

Пример 22.13. Явное указание имени пользователя для входа в сеанс

 

$ ssh -l apox restrict.class.edu

 

В этом примере пользователь susel инициирует удаленный сеанс на узле

restrict.class.edu под именем apox, зарегистрированного на этом узле. Команда scp копирует файлы на удаленную машину и с нее (пример 22.14).

 

Пример 22.14. Копирование файлов с помощью scp

 

$ scp note:~/linux.tar /tmp apox@note's password:

linux.tar 100% 210KB 0.0KB/s 00:00


 

Команда scp скопировала с удаленного компьютера файл linux.tar и помести- ла его в каталог /tmp на локальной машине.

Можно в явном виде указать имя пользователя на удаленной машине (при-

мер 22.15).

 

Пример 22.15. Явное указание имени пользователя в scp

 

susel$ scp webadm@note:/var/www/html/susel.php webadm@note's password:

susel.php 100% 22KB 0.0KB/s 00:00

 

В этом примере пользователь susel скопировал с удаленной машины файл, пройдя процедуру аутентификации на ней, как пользователь webadm.

Несмотря на то, что команды ssh и scp используют шифрованный канал, во многих случаях аутентификацию с помощью пароля нельзя признать безо- пасной. В таких случаях можно использовать криптографическую аутенти- фикацию. SSH предоставляет возможность использовать аутентификацию по протоколам RSA и DSA.

Первое, что необходимо сделать для обеспечения возможности аутентифика- ции с помощью RSA, — это создать командой ssh-keygen пару ключей несимметричного шифрования (пример 22.16).

 

Пример 22.16. Генерация ключей

 

$ ssh-keygen -t rsa

Generating public/private rsa key pair.

Enter file in which to save the key (/home/spa/.ssh/id_rsa): Created directory '/home/spa/.ssh'.

Enter passphrase (empty for no passphrase): Enter same passphrase again:

Your identification has been saved in /home/spa/.ssh/id_rsa. Your public key has been saved in /home/spa/.ssh/id_rsa.pub. The key fingerprint is:

3b:51:43:a3:67:5b:5b:27:fa:f6:fc:84:c3:6c:9b:67 spa@note.class.edu

 

Эта команда создает пару ключей RSA. Они помещаются в подкаталог .ssh домашнего каталога пользователя, вызвавшего команду. Файл id_rsa содер- жит частный ключ, доступ к которому должен быть предоставлен лишь его


 

владельцу. Файл id_rsa.pub должен быть помещен на удаленный узел, с кото- рым необходимо обеспечить связь по шифрованному каналу.

Парольная фраза, которую требуется ввести здесь — это "пропуск" к частно- му ключу. Допускается не вводить ее, но в таком случае частный ключ не будет защищен.

Несимметричное шифрование используется лишь на стадии аутентифика- ции. После подтверждения аутентичности пользователя дальнейшая связь осуществляется с применением симметричного шифрования, т. к. оно обес- печивает приемлемый уровень быстродействия системы, а несимметрич- ное — нет.

После создания пары ключей несимметричного шифрования, необходимых для аутентификации пользователя, требуется поместить публичный ключ на удаленный хост. Для этого можно зайти на него, используя ssh, и скопиро- вать с помощью scp публичный ключ с собственного узла на удаленный узел (пример 22.17).

 

Пример 22.17. Копирование публичного ключа на удаленный узел

 

$ ssh mainfrank.class.edu spa@mainfrank.class.edu's password: Last login: Fri Jul 2 10:13:06 2004 spa% hostname

mainfrank.class.edu

spa% scp note.class.edu:~/.ssh/id_rsa.pub secret.pub

id_rsa.pub 100% 22KB 0.0KB/s 00:00 spa% cat secret.pub >> .ssh/authorized_keys ; rm -f secret.pub

spa% chmod 600 .ssh/authorized_keys spa% exit

 

На первом шаге этой процедуры пользователь spa открывает удаленный се- анс на узле mainfrank.class.edu, куда требуется передать публичный ключ.

Далее он копирует, находясь в сеансе на удаленном узле, публичный ключ со своего компьютера во временный файл на mainfrank.class.edu.

После этого ключ добавляется к базе данных публичных ключей, находя- щейся в файле .ssh/authorized_keys, права доступа к которому должны быть ограничены лишь его владельцем.


 

После выхода из сеанса следующий инициированный сеанс будет открыт при условии успешной аутентификации с помощью частного и публичного ключей.

 



<== предыдущая лекция | следующая лекция ==>
Службы удаленного доступа (r-services) | Как работает служба FTP


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.146 сек.