Полная версия

OSS Group


Авторизация

  

Навигация

Текущее местоположение:  OSS Group :: Wiki :: Admin :: OpenSSH
Главное меню:   Главная   Документация   Разработка   Контакты   Поиск   Карта сайта   Wiki   Блоги
Разделы Wiki:   Admin  APT  Sandbox

OpenSSH

В целом, работает сразу из коробки. Однако для подключённых непосредственно к Internet серверов (как минимум) крайне желательно настроить OpenSSH на аутентификацию с использованием механизма открытых ключей. Причины: возможен подбор паролей к серверу, на котором sshd запущен с разрешением аутентификации пользователя по паролю. Аналогичный взлом при использовании открытых ключей значительно более затруднён.

Для использования открытых ключей при работе с OpenSSH необходимо:

Создание ключа

Пара ключей создаётся командой ssh-keygen:

 $ ssh-keygen -t dsa -b 2048

-b - длина ключа; -t - тип ключа (dsa/rsa). После создания ключа будет запрошено, в какой файл его сохранять (возможно использование разных ключей для аутентификации на разных серверах) и парольная фраза для защиты ключа.

Ключи обычно хранятся в ~/.ssh/; ключ по-умолчанию - в id_dsa, открытая часть в id_dsa.pub. Парольная фраза должна быть достаточно длинная.

Копирование ключа на удалённый сервер

Для использования аутентификации DSA/RSA открытый ключ должен быть скопирован на удалённый сервер и размещён на нём в ~/.ssh/authorized_keys2 (для протокола SSH2). Это можно сделать или вручную, или командой

  ssh-copy-id [-i ~/.ssh/key.pub] [user@]hostname

Работа с ключами

  $ ssh-keygen -p [-f keyfile]
  $ ssh-add [file]

Подробнее см. man ssh-agent, man ssh-add. При работающем ssh-agent и наличии в нём необходимых расшифрованных ключей при установлении соединений ssh парольные фразы запрашиваться не будут.

Для работы с ключами права на на домашний каталог пользователя должны быть 0700.

Настройка дополнительных параметров для работы с ssh

Возможно конфигурирование дополнительных параметров, используемых ssh для работы с конкретными серверами, в ~/.ssh/config.
Пример конфигурации:

 Host    example
    HostName sample.foo.bar
    User user
    Protocol 2
    Port 10022
    ForwardX11 no
    ForwardAgent no
    Compression no
    IdentityFile ~/.ssh/example_dsa

При этом 'ssh example' будет эквивалентно команде 'ssh -2 -x -p 10022 -i ~/.ssh/example_dsa user@sample.foo.bar'

Несколько сервисов ssh на одном адресе IP

При необходимости возможно организовать несколько сервисов ssh, использующих разные порты одного адреса IP (например, при проброске вызовов в VPS с внутренними адресами). В конфигурации по-умолчанию ssh в целях безопасности не даёт подключиться к одному хосту в случае смены у него публичного ключа (записываемого при первом соединении в ~/.ssh/known_hоsts). Однако в случае необходимости можно отключить данный режим добавлением параметра 'HostKeyAlias' в конфигурацию хоста в ~/.ssh/config:

 Host   example1
	HostName sample.foo.bar
	Port 10022
	HostKeyAlias example1
 Host   example2
	HostName sample.foo.bar
	Port 11022
	HostKeyAlias example2

Запрещение аутентификации по паролю

На сервере ssh в /etc/openssh/sshd_config проставить

  PasswordAuthentication no

и убедиться в наличии

  PermitRootLogin no
  RhostsAuthentication no
  IgnoreRhosts yes

Перезапустить сервис sshd.

Утилиты

Ссылки


Дата создания: 2006-05-24 14:08:38 (Фетисов Н. А. (naf))
Последнее изменение: 2010-09-03 14:42:14 (Фетисов Ф. А. (faf))
Владелец: Фетисов Н. А. (naf)
Версия: 15  Все версии


 Комментарии (0)


Wiki::Admin   Карта раздела  Оглавление  Изменения за сутки  Изменения за неделю  Изменения за месяц



Быстрый поиск по Wiki:
И ИЛИ

На эту страницу ссылаются:

©2006-2024 OSS Group. All rights reserved. | Техническая поддержка: Открытые Информационные Технологии и Системы