Вхід по SSH без пароля

29.03.2011
SSH access without password
Автор:

SSH - мережевий протокол рівня сеансів, з його допомогою виконується віддалене управління операційною системою і тунелювання ТСР-з'єднань (наприклад, для передачі файлів).

SSH дозволяє безпечно передавати, в незахищеному середовищі, практично будь-який інший мережевий протокол.

Дуже часто для управління потрібно заходити на певний комп'ютер (server), котрий при цьому запрошує пароль. За умови, коли нам треба заходити весь час, процедура постійного введення одного і того самого є досить обтяжливою. А якщо серверів багато, і в кожного свій пароль?..

Протокол ssh уможливлює захід на віддалену машину без вводу пароля (що є дуже корисним, наприклад, при резервному копіюванні, публікації файлів і т.п.).

Але не варто думати, що  пароль забирається і все, для цього також існує ідентифікація на основі публічного ключа користувача (тобто ключа, який буде ідентифікатором нашого користувача на віддаленому комп'ютері).

1. Спочатку веб розробник повинен створити пару ключів public i private на користувацьому комп'ютері (client), для конкретного користувача (user).

Це робиться з допомогою утиліти ssh-keygen

$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/user/.ssh/id_rsa):                # Путь где будет сохранен наш ключ <Enter>
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_rsa.
Your public key has been saved in /home/user/.ssh/id_rsa.pub.
The key fingerprint is:
63:4b:1c:ea:30:f3:d5:c8:3c:77:73:ea:bb:9c:6f:64 user@client
The key's randomart image is:
+--[ RSA 2048]----+
|        .                   |
|       = +                |
|    + . S o o            |
|     * + = . +E         |
|      o .   .o             |
|           o               |
|        *=.               |
+-----------------+

Для генерації ключа ми використовували криптографічний алгоритм RSA.

В домашній директорії в піддиректорії ssh з'являться два ключа: id_rsa та id_rsa.pub.

2. Далі нам потрібно скопіювати наш відкритий ключ (id_rsa.pub) на сервер, для чого ми робимо наступну команду

$  ssh-copy-id username@my-server.com

Або ж можна просто скопіювати наш файл із публічним ключем на той же сервер наступним чином

$ scp ~/.ssh/id_rsa.pub username@my-server.com:/home/username/.ssh/authorized_keys_user

Після чого ми можемо спокійно заходити на віддалений комп'ютер без вводу пароля.

$ ssh username@my-server.com

Але буває і дещо нестандартна ситуація, коли на сервері змінено порт для входу. Тоді потрібно використовувати ключ -р ХХХХ, де ХХХХ - порт входу на сервер.

Голосів: 1 Рейтинг: 5

Також по темі

1

Якщо ви знаєте що таке jQuery чи починаєте його вивчати, то напевне вас зацікавить знання про те, як написати свій jQuery плагін. Зробити це досить просто. Прочитавши цю статтю ви зможете...

2

В Drupal по замовчуванню поставлена перевірка пароля користувача при реєстрації. Для її усунення потрібно виконати наступне:

3
Дуже часто буває потрібно зробити сортування нод по якомусь критерію. Для цього часто використовують Views, Nodequeue, Flag та інші схожі модулі. Але часто буває так, що функціоналу цих модулів...
4
Pressflow - дистрибутив Drupal, який забезпечує покращену продуктивність і маштабування. Він розроблений хлопцями з Four Kitchens
5

Напевно всі стикались з готовими збірками сайтів на Drupal, коли після встановлення отримуєш готовий сайт з набором необхідних модулів, своєю темою і т.д. Існує велика кількість таких збірок,...

Subscribe to our blog updates