OSX ssh-агент: немає вставлення пароля та проблема з PKCS №8?


37

Я використовую ssh на своїй машині та створив довгу непридатну для людини парольну фразу, яка зберігається в моєму менеджері паролів. Щоразу мене зводить з розуму, що я не можу вставити вікно, зображене нижче. Я знаю Remember password in my keychainваріант і використовую його. Іноді мені доводиться вводити нове. Чому я не можу вставити в поле пароля?

Те саме стосується діалогового вікна, яке з’являється під час підключення зашифрованих дисків.

ssh-вікно агента

Деякі оновлення:

  1. Я дізнався, як я можу обійти діалогове вікно: просто скористайтеся ssh-add -K ~/.ssh/id_rsa, а потім можу вставити парольну фразу в термінал.
  2. Як згадував mattmcmanus, мій ключ шифрується, використовуючи pkcs8який був зламаний на ssh-агент Yosemite. Це не пов’язано з вищезазначеною проблемою, але це сталося зі мною одночасно (читайте тут ).
  3. використання ssh-add досі не виправляє це для зашифрованих дисків.

Ви повинні прийняти одну з хороших відповідей нижче. Вам також слід уникати задавати кілька запитань в одному дописі.
Ален О'Деа

1
@ AlainO'Dea По-перше, так, я повинен, це старе питання, і я забув про нього. Щодо другого, щоправда: на момент запитання було не ясно, що виникне друге питання (зламаний ПККС), дивіться історію редагування.
joni

Відповіді:


22
  1. Діалогове вікно для SSH-агента може бути обійдено шляхом додавання ключа в консолі / терміналі: ssh-add ~/.ssh/id_rsa. Потім можна вставити пароль у термінал. Крім того, додавши -Kопцію, щоб ssh-addзберегти її в брелок, згідно коментаря Олівера Лакана.
  2. Як сказав mattmcmanus, схоже , id_rsaшифрування за допомогою PKCS порушено на ssh-агенті OSX Mavericks. Швидке вирішення полягає в дешифруванні файлу ключів та зашифруванні його за допомогою стандартної процедури ssh (метод виведення ключа: MD5 ...):

mv id_rsa id_rsa.pkcs
openssl rsa -in id_rsa.pkcs -out id_rsa
# enter passphrase to decrypt
chmod 0600 id_rsa
ssh-keygen -f id_rsa -p
# enter passphrase to encrypt again

3
Незважаючи на те, що відповідь Джоні чудова, я рекомендував би ssh-add -K ~/.ssh/id_rsa"Зберігати паролі у своєму брелоку" ssh-add --help. Це не дозволить вам повторно запускати ssh-addкожен раз, коли ви відкриваєте нову вкладку оболонки або під час перезавантаження машини.
Олів'є Лакан

2

Це ключ PKCS № 8, і ви перебуваєте на мавериках? Якщо так, то, здається, повністю розпалено. Не впевнений, що рішення є ще.


1
чому це повинно бути? Поки що проблема полягає лише в тому, що поле пароля в діалоговому вікні не приймає вставлення. Це вже існувало на 10,8, але через оновлення до 10,9 мені доведеться знову вводити пароль.
joni

Гаразд, ти, здається, маєш рацію ... поглянь на мою власну відповідь.
joni

2

У Mac OS X El Capitan команда ssh-add може це зробити за допомогою параметра -K :

$ ssh-add -K ~/.ssh/id_rsa
Enter passphrase for /Users/your.username/.ssh/id_rsa:

Ви можете вставити свій пароль у цей рядок за допомогою ⌘-V .

Сеанс для цього виглядає приблизно так:

$ ssh-add -K ~/.ssh/id_rsa
Enter passphrase for /Users/your.username/.ssh/id_rsa:
Passphrase stored in keychain: /Users/your.username/.ssh/id_rsa
Identity added: /Users/your.username/.ssh/id_rsa (/Users/your.username/.ssh/id_rsa)

Відповідний уривок SSH-ADD (1), розроблений man ssh-add :

-K При додаванні ідентифікацій кожна пропускна фраза також буде зберігатися у вашому брелоку. При видаленні тотожностей з -d кожна парольна фраза буде видалена з вашого брелка.

ПРИМІТКА ІНФОСЕК : Ваш пароль не відображатиметься в оболонці, але буде відкритий для всіх запущених програм через буфер обміну. Автотипове рішення було б більш безпечним.


1

Ви можете запустити такий сценарій у редакторі AppleScript:

tell application "System Events" to tell process "SecurityAgent"
    set value of text field 2 of scroll area 1 of group 1 of window 1 to "pa55word"
    click button 2 of group 2 of window 1
end tell

1
дякую, це допоможе для діалогових вікон "зашифрованих дисків". Але чому яблуко відключило це поле для вставки ???
joni

Зручно, але так, не думаю, що це вирішує проблему PKCS № 8, де навіть якщо ви ввели правильний пароль, він говорить про неправильну парольну фразу.
Боб Аман

Не має сенсу. Тепер ваш найпотаємніший пароль відкритий для всіх. Ось чому TS використовує диспетчер паролів, щоб її паролі були централізованими та високо захищеними.
whaefelinger

1
Не працює на El Capitan. Спочатку він просить редактор сценаріїв отримати допоміжний контроль, System Events got an error: Script Editor is not allowed assistive access. як тільки це дозволено в налаштуваннях системи | Безпека та конфіденційність я отримуюSystem Events got an error: Can’t get window 1 of process "SecurityAgent". Invalid index.
Alain O'Dea

1

У мене була така ж проблема. Знайшовши це запитання, я продовжував шукати і шукав відповідь в іншому місці. Це давнє запитання, але воно не має прийнятих відповідей і все ще знаходиться у списках пошуку. (не впевнений у цьому етикетному стилі).

RE не в змозі скопіювати / вставити: Це, мабуть, дизайн. Намір полягає в тому, щоб запобігти будь-якому доступу до поля з буфера обміну, щоб запобігти зловмисній програмі зловмисної програми. Я думаю, що слід вставляти (а не різати), але, можливо, є якась технічна причина.

Що стосується матеріалів ssh-агента (як мінімум) Yosemite, -Kопція ssh-add -K ~/.ssh/blahвиконує те, що ви хочете - введіть пароль один раз, він зберігається у вашому брелоку, і ssh-агент буде прозоро розблокований для вас. Щоб спробувати бути більш безпечним, я кладу свої SSH-фрази в окремий брелок, який періодично замикається.


Будь-який шанс ви могли поділитися посиланням на знайдену відповідь?
Джон Керні

Вибач за це! Щодо матеріалу ssh-агента, я натрапив на developer.apple.com/library/mac/documentation/Darwin/Reference/…
PerilousApricot

0

Використання пивоварення openssl та openssh виправляє проблему.

brew update
brew install openssl
brew link openssl --force
brew install openssh

# confirm correct bins are being used
# both should be located in /usr/local/bin
which openssl
which openssh

# add key back to keychain
ssh-add ~/.ssh/id_rsa

Я не впевнений, що сила зв'язання opensl щось порушує Mavricks. Поки що я не помітив жодних проблем.


1
Не існує (більше а) brewформули для openssh.
Адам Літер

Однак все brew tap homebrew/dupesж є. Однак, ці дії, схоже, не вирішили цю проблему для мене.
Боб Аман

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