скопіюйте приватні ключі ssh на інший комп'ютер


52

Мені потрібно використовувати інший комп'ютер, щоб отримати доступ до свого ssh-сервера. Це тому, що нещодавно реалізований vpn в моєму університеті не працює на моєму теперішньому комп’ютері, і я втратив доступ до сервера.

Я ssh за допомогою зашифрованих ключів ssh. Чи можу я скопіювати ці ключі на новий комп'ютер (на якому працює vpn). Я спробував скопіювати файли id_rsaта id_rsa.pubфайли в ~/.sshпапку, але вона не розпізнає ключі, і немає запиту на введення пароля для розшифровки ключів.

EDIT: Я не можу отримати доступ до сервера для створення нової пари ключів для нового комп’ютера, і я перебуваю за межами країни, тому фізично не можу отримати доступ до нього.

Дякую.


Це " id_rsh" друкарська помилка?
ændrük

1
Ви можете дізнатися більше про проблему, спробувавши ssh -v -i ~/.ssh/id_rsa ssh-server.
ændrük

спробував це. Здається, надішліть ключі, але ніколи не просить пароль, щоб розшифрувати їх. Я також отримую дивне загальне повідомлення "Роумінг заборонено сервером". Вгадайте, приватні ключі просто не призначені для копіювання;). Схоже, мені просто доведеться довіряти комусь із фізичним доступом, щоб вручну увійти на мій сервер і змінити налаштування ssh. Спасибі за вашу допомогу.
benj

Приватні ключі ніколи не слід копіювати! Це ризик безпеки. Створюйте нові ключі для кожного нового пристрою !!!!
Ефір

Відповіді:


66

Перевірте дозволи та права власності на файл вашого приватного ключа. З посібника ,

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

Зазвичай ключові файли повинні виглядати так,

$ ls -l ~/.ssh/id_rsa*
-rw------- 1 benj benj 1766 Jun 22  2011 .ssh/id_rsa
-rw-r--r-- 1 benj benj  388 Jun 22  2011 .ssh/id_rsa.pub

які ви можете застосувати за допомогою:

$ chown benj:benj ~/.ssh/id_rsa*
$ chmod 600 ~/.ssh/id_rsa
$ chmod 644 ~/.ssh/id_rsa.pub

2
Дякую. Це корисно знати. Коли ви копіюєте файл на інший комп'ютер, дозволи, схоже, змінюються для цього користувача. Я керував сценаріями chmod та chown на випадок. На жаль, це не допомогло моєму питанню.
benj

@John ツ це могло бути частиною проблеми для мене, але, мабуть, були й інші проблеми. Зрештою я когось фізично увійшов на сервер і встановив новий ключ. Але приймемо це, оскільки це, ймовірно, охоплює ключове питання.
benj

Це працювало для мене, @benj.
Синтія V

14

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

ssh-addКоманда додає ключі до ключового агенту.


1
Я не думаю, що це проблема, оскільки 1) клієнт SSH може впоратися без функціонального ключа ключа; 2) сервер не відповість повідомленням "роумінг не дозволений" і 3) клієнт ssh мав би своє повідомлення про помилку під час розмови з ключовим агентом виходить з ладу. Я зробив свої думки про це відповіддю .
gertvdijk

Це вирішило для мене проблему. Також див. Документацію Github для цього .
Ionică Bizău

8

Зашифровані приватні ключі мають відповідний відкритий ключ незашифрованим . Ось так клієнт SSH може підключитися до віддаленого сервера, не запитуючи вас пароль (він пропонує лише публічну частину в цій точці). Щоразу, коли сервер приймає відкритий ключ, клієнт на вашому ПК хоче розшифрувати приватний ключ і попросить вас пройти парольну фразу.

Тепер, коли сервер приймає з'єднання лише з певної IP-адреси, це відхиляється вже на першому кроці і пояснює повідомлення, яке ви отримали від сервера "Роумінг не заборонено сервером".

Отже, я найкраще здогадуюсь, що ваш сервер якимось чином обмежений, щоб дозволити для цього ключа лише конкретні IP-адреси. Зробити це можна кількома способами, але це звичайне в ~/.ssh/authorized_keys:

from="192.168.1.2" ssh-rsa AAAAB3NzaC[...]

Щоб довести, що ви можете прочитати відкритий ключ із зашифрованого приватного ключа без пароля, запустіть:

ssh-keygen -y -f /path/to/private/key

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