Користувальницькі налаштування

Налаштування сайту


freebsd:ssh

FreeBSD. SSH

SSH авторизация по ключам.

Пробовал по RSA. В некоторых примерах необходимо было дополнительно перейти в отличие от оригинала, в подкаталог .ssh, а не из домашнего запускать.

ssh -i .ssh/id_rsa user@192.168.0.1

source

Одним из самых надежных способов аторизации и одновременно удобных является авторизация по ключам. Естественно при условии безопасного хранения приватных ключей (а для этого можно использовать например программу Truecrypt, вот заметка по использованию..) Такой способ авторизации часто используется в скриптах, например с такими программами как sftp, scp и др.

Приведу пример настройки авторизации по ключам на FreeBSD. Создаем пользователя на сервере(в примере используется имя User)

adduser User

Далее заходим под этого пользователя.

su User

С помощью ssh-keygen(1) можно создать ключи DSA или RSA, которыми пользователи могут аутентифицироваться. Какой из алгоритмов выбирать - решать Вам. Из недостатков DSA - на данный момент длина ключа, который генерируется по-умолчанию 1024 бита. При попцтке выставить длину ключа больше вы получите следующее сообщение “DSA keys must be 1024 bits” (В этой статье описано, как это можно обойти). При генерировании ключей на все задаваемые вопросы принимаем значения по умолчанию (поле passphrase оставляем пустым). Генерирование DSA ключа

ssh-keygen -t dsa
Generating public/private dsa key pair.
Enter file in which to save the key (/home/ix-net/.ssh/id_dsa):
Created directory '/home/User/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/User/.ssh/id_dsa.
Your public key has been saved in /home/User/.ssh/id_dsa.pub.
The key fingerprint is:
af:4a:be:81:df:4d:2f:35:a1:95:8c:8a:35:a3:9c:d8 User@example.com
The key's randomart image is:
+--[ DSA 1024]----+
|                 |
|                 |
|       o +       |
|      . O        |
|     + OS.       |
|    . E +.       |
|   +. .. +.      |
|  .o.+.. O       |
| ...+.ooo        |
+-----------------+

Генерирование RSA ключа длиной 2048 бит (длину ключа можно выбрать на Ваше усмотрение…)

ssh-keygen -t rsa -b 2048
Generating public/private rsa key pair.
Enter file in which to save the key (/home/User/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/User/.ssh/id_rsa.
Your public key has been saved in /home/User/.ssh/id_rsa.pub.
The key fingerprint is:
4f:fd:a6:a9:d6:dc:14:6e:8c:9b:80:b5:5e:8b:6a:71 User@example.com
The key's randomart image is:
+--[ RSA 2048]----+
|         =       |
|       .= E      |
|      S .o +     |
|     .   .o + .  |
|      . So+o + . |
|       ...oSo =  |
|         +.=.+   |
|        E.. +    |
|       ..        |
+-----------------+

ssh-keygen(1) создаст пару публичного и приватного ключей, используемых для аутентификации. Приватный ключ сохраняется в ~/.ssh/id_dsa или ~/.ssh/id_rsa, а публичный в ~/.ssh/id_dsa.pub или ~/.ssh/id_rsa.pub (для ключей DSA и RSA соответственно). Желательно приватные ключи перемещать в надежное место и сразу грохать на сервере.. Для включения аутентификации по ключам публичный ключ должен быть помещен в файл ~/.ssh/authorized_keys на удаленном компьютере. Дальше нужно проверить, включена ли авторизация по ключам - в файле /etc/ssh/sshd_config должно быть раскоментировано

# разрешаем использование RSA ключей
RSAAuthentication yes
# разрешаем авторизацию при помощи ключей
PubkeyAuthentication yes
# Путь где будут находиться ключи, с которыми можно соединяться. 
AuthorizedKeysFile     .ssh/authorized_keys

А если на сервере вообще хотим запретить авторизацию по паролям, выставляем параметр в /etc/ssh/sshd_config:

PasswordAuthentication no
PermitEmptyPasswords no

После изменения sshd_config нужно перезапустить sshd. Во FreeBSD это можно сделать командой

/etc/rc.d/sshd restart

Записываем авторизованые ключи Для DSA

cd ~ 
cat id_dsa.pub >> authorized_keys

Для RSA

cd ~/ssh 
cat id_rsa.pub >> authorized_keys 

Проверка соединение в unix

# параметр -i указывает на расположение испльзуемого в сессии ключа 
# Для DSA ключа
ssh -i ./id_dsa User@host
# Для RSA ключа
ssh -i ./id_rsa User@host

В Windows в качестве ssh клиента чаще всего используется Putty Однако, вы не сможете использовать полученный приватный ключ. Необходимо выполнить конвертацию с помощью puttygen.
Иначе при попытке соединения вы увидите ошибку - Unable to use key file (OpenSSH SSH2 private key). Качаем puttygen (например c) и запускаем Загружаем наш приватный ключ (Conversions → Import Key).
Дальше жмем кнопку “save private key” и сохраняем полученный ppk файл. Теперь в настройках сессии putty указываем

Connection → data → autologin username =User
Connection → data →ssh -auth = <ppk file path>
Сохраняем сессию.
Запускаем putty выбираем нужную сессию, нажимаем<Open> и попадаем в систему.

freebsd/ssh.txt · Востаннє змінено: 2014/02/07 07:07 (зовнішнє редагування)

Якщо не вказано інше, вміст цієї Вікі підпадає під дію такої ліцензії: CC Attribution 4.0 International
CC Attribution 4.0 International Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki