IT-Service - SSH сервер и клиент
Понедельник, 24 Сентябрь 2012 05:07

SSH сервер и клиент

Автор  green
Оцените материал
(0 голосов)

Общая информация

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

 

Установка сервера SSH

Установим сервер SSH следующей командой (в Ubuntu):

sudo aptitude install openssh-client

Настройка сервера SSH

Вся конфигурация сервера производиться изменением файла /etc/ssh/sshd_config. По умолчанию клиент настраивается на вторую версию протокола, слушает порт 22 (стандартный для SSH) и разрешает вход root'a. В большинстве случаев править этот файл не требуется, но всё-таки иногда возникает необходимость его изменить.

Сначала сделаем резервную копию файла конфигурации:

sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.original

Откроем его в редакторе mcedit:

sudo mcedit /etc/ssh/sshd_config

По структуре это обычный для UNIX файл настроек. Описание некоторых параметров:

Port                 - порт, по которому сервер будет ожидать входящего соединения.
ListenAddress        - указывает, какой интерфейс будет прослушиваться ssh.
Protocol             - позволяет выбрать версию протокола 1 или 2. Рекомендуется протокол 2.
HostKey              - Ключевые файлы для второй версии протокола SSH (rsa и dsa).
PermitRootLogin      - при значении yes разрешает вход суперпользователя по ssh.
PermitEmptyPasswords - разрешить пустые пароли. Может пригодиться при проблемах аутентификации.

После изменений в файле настроек необходимо перезагрузить sshd:

sudo /etc/init.d/ssh restart

Установка клиента SSH

Следующей командой установим ssh-клиент:

sudo aptitude install openssh-client

Использование SSH-клиента

Подключение к ssh-серверу осуществляется командой ssh. В простейшем случае она выглядит так:

ssh IP_адрес_сервера

или

ssh Имя_сервера

При этом вход на сервер происходит от имени текущего пользователя по стандартному порту TCP 22. Для указания другого пользователя можно использовать ключ -l или знак @:

ssh -l Имя_пользователя IP_адрес_сервера

или

ssh Имя_пользователя@IP_адрес_сервера

Например, вход на сервер 10.0.4.21 от имени root:

ssh -l root 10.0.4.21
ssh root@10.0.4.21

Если на сервере используется нестандартный порт, то его можно указать после ключа -p:

ssh -p номер_порта IP_адрес_сервера

Монтирование удалённой файловой системы через SSHFS

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

Для начала установим sshfs:

sudo aptitude install sshfs

Монтирование производиться следующей командой:

sshfs remotehost:/путь/к/удаленной_директории /локальная/директория

Где remotehost - имя удаленного хоста или его ip-адрес, /путь/к/удаленной_директории - удаленая директория, которую необходимо примонтировать, /локальная/директория - это точка монтирования удаленной папки. При этом монтирование происходит от имени текущего локального пользователя.


Можно указать имя пользователя в явном виде:

sshfs remoteuser@remotehost:/путь/к/удаленной_директории /локальная/директория

Где remoteuser - имя удаленного пользователя.


Для отмонтирования удаленной директории используется команда:

fusermount -u /локальная/директория

Авторизация по SSH с помощью ключей

  • На клиенте создайте ssh-ключ (и, если у вас его нет, файл ~/.ssh/id_dsa), при помощи команды (следуйте указаниям команды):
ssh-keygen -tdsa
  • Содержимое файла с публичным ключом (~/.ssh/id_dsa.pub) скопируйте в конец файла ~/.ssh/authorized_keys2 на сервере. Если такого файла нет, то его необходимо создать.
  • Если вы хотите заменить (убрать) пароль на ключ, то воспользуйтесь командой
ssh-keygen -tdsa -p
Прочитано 3179 раз Последнее изменение Вторник, 02 Октябрь 2012 11:03
Авторизуйтесь, чтобы получить возможность оставлять комментарии