Мы — долго запрягаем, быстро ездим, и сильно тормозим.

FreeBSD
  настройка
  подсчёт трафика
  программы
  почтовые системы
  Шелезяки
  Мелочи
  Файловая система
  WWW
  Security
  немного о безопасности
  VPN (PoPToP)
  PortSentry
  sysctl
  vtund
  ipfwcount
  FreeBSD & DSA
  mpd – легко и просто!
  mpd + freeradius + mysql
  Бронированный FreeBSD
  sshit
  DSL-G804V и FreeBSD 6.2
  portaudit
  OpenVPN
  Bluetooth proximity monitor
  ESET NOD32
  GEOM-ELI
  stunnel для pop3,smtp
  NOD32 mirror
  mpd5 + ipfw-nat
  Openvpn 2 офиса
  Hotspot
  OpenVPN+авторизация
  termlog
  mpd5 + сжатие и шифрование
  ipsec_vpnc
  TOR Сервер
  Snort на FreeBSD
  Arpwatch
  Установка и настройка OpenVPN
  NOD32_mirror_v2
  Fail2ban
  IPSec
  Перенос OpenVPN сервера
  Wpa/WPA2-Radius+EAP-TLS/EAP-PEAP
  nod32 mirror script
  MAC + apache
  system
  Games Servers
  X11
  Programming
Очумелые Ручки
OpenBSD
Cisco


www.lissyara.su —> статьи —> FreeBSD —> Security —> FreeBSD & DSA

Элементарная настройка авторизации по DSA ключу на FreeBSD

Автор: stup.


Для того, чтобы настроить аутенфикацию по DSA ключу достаточно воспользоваться утилитой Puttygen, где в опциях указать DSA шифрование. Потом генерируем ключ при этом лихорадочно передвигая курсор мыши по desktop'u. До того как поместим ключ на сервер под управлением FreeBSD не закрываем утилиту Puttygen. После того как ключ сгенерировался его нужно защитить паролем, что мы собственно и делаем вводя его в соответствующих полях. Затем сохраняем на компьютере "Private Key" и прячем  его куда-нибудь подальше, но обязательно запоминаем где он хранится. Сам же ключ я просто выделил и скопировал в буфер, потом на FreeBSD создал директорию в своем домашнем каталоге под названием .ssh:
mihail@gella~$mkdir .ssh

В этой директории создаем файл authorized_keys:
mihail@gella~/.ssh$vim authorized_keys

в который собственно и скопируем наш ключ из буфера обмена. Вот порядок последовательности действий после того как вы набрали команду:
vim authorized_keys

(Открылся редактор далее нажимаем кнопку "i" и переходим в режим вставки текста, потом нажимаем просто правой кнопкой мышки и текст с ключом из буфера должен оказаться на экране редактора. Очень внимательно проследите чтобы ключ скопировался полностью. После этих действий нажимаем одновременно комбинацию клавишей "shift" ":" пишим символы "wq" и сохранив изменения выйдем из редактора).
На директорию .ssh и файл authorized_keys обязательно выставить права 0600.
chown mihail:mihail authorized_keys

потом команда:
chmod 0600 authorized_keys

Далее мы в Windows ставим такую замечательную утилиту как Pageant. Она сразу же появится в системном трэе. Нажимаем правой кнопки мыши в трэе по иконке агента и выбираем опцию Add Key. Добавляем наш Private Key, сразу же всплывет окошко для ввода пароля которым мы защитили наш Private Key разумеется введем пароль. Затем запускаем Putty где, создаем если не создана сессию, называем ее как хотим естественно указываем протокол SSH, и порт 22 который используется по умолчанию. В секции Connection=>Data=>Login details указываем имя вашего пользователя, а в секции SSH=>Auth=>Private key file for authentication указываем путь до вашего Private Key. Cобственно после этих действий все даже с настройками по умолчанию должно работать.

Итак после того как мы настроили аутенфикацию по ключу, есть еще несколько интересных ключевых моментов, это касается собственно передачи файлов с удаленного компьютера на сервер и обратно.

Передача файлов осуществляется с помощью утилиты pscp (Putty SCP). Для того чтобы настроить работу pscp из командной строки или файлового менеджера, надо в переменных средах windows в разделе Системные переменные отредактировать переменную path и добавить туда путь до каталога в котором находится pscp. В этом случае мы получим возможность набрав команду pscp в командной строке работать с утилитой pscp.

Кроме всего прочего имеется определнный синтаксис использования данной утилиты.
Я опишу лишь основные моменты с которыми сталкивался.

Параметр -p означает, то что у файла будут унаследованы те атрибуты которые у него были в Windows.

Параметр -r Это рекурсивная копия целых директорий, очень удобно когда необходимо закачать например какой-либо скрипт.

Вот элементарный пример использования:

pscp c:\ssh\pscp.exe user_name@Name_server:/root

где "c:\ssh\pscp.exe" - путь до файла который хотим передать.

где "user_name@server_name" - user_name это имя системного пользователя необходимо чтобы у пользователя были права на передачу файлов по pscp, а server_name это имя сервера на который мы хотим передать файл. лично я предпочитаю указывать имя сервера по его IP адресу

где "/root" - это имя каталога в который мы хотим передать файл.

Обратная ситуация, это когда мы хотим скопировать файл например какой-либо конфигурационный файл с машины на которой стоит FreeBSD. Тогда синтаксис будет выглядеть следующим образом:

pscp user_name@server_name:/root/.bashrc c:\home

где "user_name@server_name" - user_name это имя системного пользователя (необходимо чтобы у пользователя были права на передачу файлов по pscp), а server_name это имя сервера на который мы хотим передать файл. (лично я предпочитаю указывать имя сервера по его IP адресу)

где "/root/.bashrc" - имя директории и собственно сам файл который мы хотим скопировать на Windows.

где "c:\home" - имя директории в которую мы хотим скопировать уже на Windows.

С помощью таких нехитрых манипуляций мы имеем возможность передавать файлы с FreeBSD на Windows и обратно. Вся авторизация у меня работает в автоматическом режиме по DSA ключу.

Так же если у вас все работает в связке в такими утилитами как Putty, Pscp, Pagent, то синтаксис может быть еще проще так как просто можно будет указывать имя настроенной сессии в Putty. Например это будет выглядеть так:

pscp c:\ssh\putty.exe @session_name:/root

pscp @session_name:/root/.bashrc c:\home

Так как стоит Pageant он авторизует нашу сессию по ключу, то достаточно просто указывать имя сессии, а все параметры и настройки из Putty берутся автоматически, то есть по большому счету нужно лишь грамотно настроить Putty.


Ну и несколько маленьких советов:

Для того чтобы Pageant постоянно работал создайте его ярлык в автозагрузке а в свойствах ярлыка пропишите путь до файла pagent.exe а далее через пробел пути до ваших ключей. Например "C:\ssh\pageant.exe D:\ssh\You_Key.ppk

Ну а если вы используете несколько сессий, а вам не хочется всякий раз запускать Putty и выбирать там сессию, то достаточно создать ярлык Putty, а в свойствах ярлыка указать путь до файла putty.exe, а потом через пробел "-load session_name" (разумеется без ковычек). Например C:\ssh\putty.exe -load session_name

Все программное обеспечение взято c этого сайта

Ну вот собственно и все.



Ссылка на обсуждение: http://forum.lissyara.su/viewtopic.php?t=5559.

размещено: 2006-06-20,
последнее обновление: 2006-07-01,
автор: stup

оценить статью:

vanish, 2006-07-19 в 13:39:16

Хорошая статья.
5 баллов
все пашет на ура.

zyxman, 2006-07-26 в 21:45:59

Название не совсем точно отражает суть статьи.
1. надо название изменить чтобы было понятно что речь именно про FreeBSD + putty + openssh!!
2. authorized_keys можно делать читабельным для всех: самое страшное что с ним может сделать хакер - открыть тому у кого спер ключ доступ к собственному серверу (серверу хакера) :)
хотя конечно _теоритически_ у хакера может быть суперкомпьютер, а вы не собираетесь менять ключи в ближайшие сотни лет..
Собственно главная прелесть подхода что очень легко менять ключи и не нужно кучу паролей.
3. я бы еще добавил про особенность openssh на других системах (проверялось на линухе): используется два отдельных файла для public ключей - один для SSH протокола версии 1 (authorized_keys), другой для версии 2 (authorized_keys2).
То есть мы конечно пользуемся более секюрной версией 2 и соответственно ключ нужно писать именно в authorized_keys2.

alexander, 2006-11-11 в 8:44:22

to zyxman:

а я вот внимательно прочитав ман уверяю: .ssh должен быть доступен только владельцу, иначе ssh использовать его откажется.

schizoid, 2007-04-06 в 18:01:07

А если я вендой не пользуюсь? И соответствкнно путти? ;)
тада поступаем так:

В /etc/ssh/sshd_config проверяем активна ли опция "PubkeyAuthentication yes".
Запускаем на локальной машине программу ssh-keygen (ssh-keygen -t rsa),
на все задаваемые вопросы принимаем значения по умолчанию (поле passphrase оставляем пустым).
Далее, запускаем программу ssh-copy-id -i ~/.ssh/id_rsa.pub user@remotehost, где
  user - пользователь удаленной машины
  remotehost - адрес удаленной машины,
( или вручную, на удаленной машине в директории ~/.ssh, создаем файл authorized_keys,
куда копируем содержимое файла identity.pub (id_rsa.pub) с локальной машины).
Для увеличения безопасности в файл ~/.ssh/authorized_keys на удаленной машине
добавляем перед ключом (разделив пробелом) строку:
   from="localhost", где localhost - адрес локальной машины (from="localhost" 1024 23 1343.....).

None, 2007-04-29 в 7:56:37

"Thanks for interesting site. Keep up a great work."

arez, 2007-10-23 в 11:11:39

Снять коментарии в файле /etc/ssh/sshd_config

PubkeyAuthentication yes
AuthorizedKeysFile      .ssh/authorized_keys

соэдать симлинк для authorized_keys
ln authorized_keys authorized_keys2

для .ssh chmod установить 0700
для authorized_keys установить 0600
для authorized_keys2 установить 0600

arez, 2007-10-23 в 11:13:38

to schizoid

from="*.example.org,192.0.2.*,::ffff:192.0.2.*" ssh-rsa AAAAB…

J4ck, 2007-11-12 в 11:32:04

>> pscp
Под виндой существует удобный плагин для FARа - winscp. Позволяет работать с файлами через ssh в удобной оболочке.

Goga, 2008-02-08 в 13:40:41

Рассказанный в статье способ у меня почему-то не заработал. Пришлось сгенерить ключ с помощью ssh-keygen, а Puttygen подсунуть сгенерённый приватный ключ, чтоб он его переконвертил в свой формат ppk. Так заработало. Видимо "неправильные" ключи генерит Puttygen.

Он, 2008-12-07 в 21:47:24

Ничего не пашет

александр, 2008-12-08 в 9:51:27

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

Гость, 2009-11-27 в 12:13:26

Ништяк.

zilia, 2009-12-22 в 15:26:27

генерировать пару ключей можно одной командой:
ssh-keygen -t rsa -f id_rsa -N ''

mayor, 2011-05-09 в 19:41:43

"На директорию .ssh и файл authorized_keys обязательно выставить права 0600" и в коментах об правах написали, и никто не вспомнил что директория .ssh и authorized_keys должны иметь владельцем юзера этой home директории (тут грабли поймал)
chown putin:putin /usr/home/putin/.ssh/
chown putin:putin /usr/home/puti/.ssh/authorized_keys
после этого все заработало.

Сергофан, 2011-07-19 в 12:54:37

А у меня на 8.2 и openssh 5.2, всё заработало после доведения конфига до такого состояния:

RSAAuthentication no
UseLogin no
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
PasswordAuthentication no
ChallengeResponseAuthentication no

И выставлении прав на папку .ssh 700, а не 600. Правда ключик RSA =)

1, 2013-01-11 в 18:21:52

Тoвaрищщи! Этo пoля для вводa комментaриев к статье, а не для вопросов. Сюда пишите найденные бaги, или кaкие-то фичи :)
Для вопросов есть форум!


Оставьте свой комментарий:
Ваше имя:   *
e-mail:  
жирный
наклонный
подчёркнутый
ссылка
цвет
Нынешний год:   *
 


Хостинг HOST-FOOD

2014-07-27, lissyara
gmirror

Удалённое создание софтверного зеркала средствами gmirror, на диске разбитом с использованием gpart. Использование меток дисков для монтирования разделов.
2013-08-20, zentarim
Scan+Print server FreeBSD 9

Настройка сервера печати и сервера сканирования под управлением операционной системы FreebSD 9 для МФУ Canon PIXMA MP540
2011-11-20, BlackCat
Разъём на WiFi-карту

Делаем съёмной несъёмную антену на WiFi-карте путём установки ВЧ-разъёма
2011-09-14, manefesto
Настройка git+gitosis

Настройка системы контроля версия исходного кода в связке git+gitosis+ssh
2011-08-14, zentarim
Wi-FI роутер + DHCP + DNS

Настройка Wi-Fi роутера на Freebsd 8 + DNS сервер + DHCP сервер: чтобы Wi-Fi клиенты были в одной подсети с проводными, проводные и беспроводные клиенты получали адреса автоматически по DHCP, кэширующ
2011-06-15, -ZG-
Охранная система на FreeBSD+LPT

В этой статье описана попытка реализации простой охранной системы на базе FreeBSD с подключением к ней охранных устройтсв на LPT порт и видеорегистрацией.
2011-03-13, terminus
ng_nat

Описание работы ng_nat, практическое использование, достоинства и недостатки в сравнении с ipfw nat
2011-02-20, Капитан
Nagios+Digitemp

Статья описывает создание системы оповещения о превышении температуры в специальных помещениях на основе Nagios с использованием программы Digitemp.
2011-02-17, Le1
Zyxel Configuration

Скрипт для массового изменения конфига свичей Zyxel. Берет из файла iplist список ip-шек, заходит последовательно на каждый и выполняет комманды из файла commands, записывая происходящее в лог файл.
подписка

    вверх      
Статистика сайта
Сейчас на сайте находится: 10 чел.
За последние 30 мин было: 38 человек
За сегодня было
10382 показов,
801 уникальных IP
 

  Этот информационный блок появился по той простой причине, что многие считают нормальным, брать чужую информацию не уведомляя автора (что не так страшно), и не оставляя линк на оригинал и автора — что более существенно. Я не против распространения информации — только за. Только условие простое — извольте подписывать автора, и оставлять линк на оригинальную страницу в виде прямой, активной, нескриптовой, незакрытой от индексирования, и не запрещенной для следования роботов ссылки.
  Если соизволите поставить автора в известность — то вообще почёт вам и уважение.

© lissyara 2006-10-24 08:47 MSK

Время генерации страницы 0.0374 секунд
Из них PHP: 23%; SQL: 77%; Число SQL-запросов: 77 шт.
У Вас отключено GZIP-сжатие в браузере. Размер страницы 108868