Як створити приватно-відкритий ключ за допомогою ssh-keygen і зробити його авторизованим?


19

Я хочу створити публічно-приватний ключ на Sever 1 та зберігати його у місці, яке не є місцем за замовчуванням.

Після цього збережіть відкритий ключ на сервері 2; ще раз НЕ у типовому місці.

Потім зробіть цей ключ авторизованим ключем.

Однак я не можу знайти authorized_keysфайл у ~/.sshпапці. Як зробити його авторизованим?


1
ssh-keygen - це команда для генерації ключів. Він запитує про розташування ключового файлу під час створення. Я думаю, що вам доведеться створити авторизований ключ, якщо у вас його немає
sagarchalise

Відповіді:


22
  1. Біжи ssh-keygen -f filename.
  2. Біжи scp filename username@server:filename-on-server
  3. Увійдіть на сервер і запустіть cat filename-on-server >> ~/.ssh/authorized_keys

Ви також можете замінити кроки 2 та 3 на ssh-copy-id -i filename username@server.


Я отримую помилку: занадто багато аргументів
ІгорГанапольський

@Igor, на якому кроці?
Мікель

1
Якщо ви не додаєте filename.pub, а не ім'я файлу (який буде вашим приватним ключем?)
Самуїл,

1

Використовувати ssh-keygenкоманду. На сервері (куди потрібно сш) зберігати відкритий ключ у файлі ~/.ssh/authorized_keys. Якщо у вас ще немає каталогу .ssh у вашому домі (~), створіть його (також будьте обережні: здається, що sshd є вибагливим - з міркувань безпеки - щоб жоден інший користувач не міг прочитати цей файл / dir, краще опублікувати chmod 700 у вашому каталозі .ssh та chmod 600 у файлі у ньому).

На машині, з якої потрібно відвідати ssh ("клієнт"), ви можете використовувати приватний ключ, щоб потім ssh на свій сервер. Ви можете зберігати його в будь-якому місці, тоді ви можете використовувати -iперемикач ssh, щоб надати відкритий ключ, який буде використовуватися. Я пишу це, оскільки ви заявили, що "не зберігається у стандартному місці". Місце за замовчуванням було б file id_dsa(для ключа DSA) у вашому каталозі .ssh. Тоді вам не потрібен -iперемикач, щоб вказати свій ключ, оскільки він буде вибраний звідти автоматично.


1

Здається, ви вже зробили ключі. Якщо ні, просто запустіть ssh-keygen і прийміть за замовчуванням. Зробіть файл санкціонованого_кесу самостійно:touch authorized_keys

Коли ви зберігаєте ваші приватні ключі в нестандартному місці, переконайтеся, що ви використовуєте -i: ssh -i /path/to/privatekey user@host

Ось хороша стаття про ssh-keygen та використання санкціонованих ключів для спрощення входу в ssh:

http://www.debuntu.org/secure-your-ssh-server-with-publicprivate-key-authentification/

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.