Відповіді:
Ви можете перевірити свою парольну фразу ключа SSH, намагаючись завантажити її у свій агент SSH. З OpenSSH це робиться через ssh-add
.
Як тільки ви закінчите, не забудьте розвантажити свою парольну фразу SSH з терміналу, запустівши ssh-add -d
.
ssh-add -d
# restorecon -R -v /home/user
щоб перевірити, чи це проблема (хоча попередня команда не повинна викликати жодних проблем), ви можете використовувати $ ls -lZR <home_dir>
для вивчення контексту. Якщо ви не бачите user_home_t
в домашньому каталозі та ssh_home_t
в .ssh
каталозі та authorized_keys
файлі, використовуйте їх restorecon
для виправлення.
ssh-keygen -y
ssh-keygen -y
підкаже вам про парольну фразу (якщо така є).
Якщо ви введете правильну парольну фразу, вона покаже вам пов’язаний відкритий ключ.
Якщо ви введете неправильну фразу, вона відобразиться load failed
.
Якщо ключ не має парольної фрази, він не запропонує вам ввести парольну фразу і негайно покаже вам пов’язаний відкритий ключ.
наприклад,
Створіть нову пару відкритих / приватних ключів, із паролем або без нього:
$ ssh-keygen -f /tmp/my_key
...
Тепер подивіться, чи можете ви отримати доступ до пари ключів:
$ ssh-keygen -y -f /tmp/my_key
Далі наводиться розширений приклад, що показує вихід.
Створіть нову пару відкритих / приватних ключів, із паролем або без нього:
$ ssh-keygen -f /tmp/my_key
Generating public/private rsa key pair.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /tmp/my_key.
Your public key has been saved in /tmp/my_key.pub.
The key fingerprint is:
de:24:1b:64:06:43:ca:76:ba:81:e5:f2:59:3b:81:fe rob@Robs-MacBook-Pro.local
The key's randomart image is:
+--[ RSA 2048]----+
| .+ |
| . . o |
| = . + |
| = + + |
| o = o S . |
| + = + * |
| = o o . |
| . . |
| E |
+-----------------+
Спроба отримати доступ до пари ключів, ввівши правильну парольну фразу. Зауважте, що відкритий ключ буде показаний, а статус виходу ( $?
) буде 0
вказувати на успіх:
$ ssh-keygen -y -f /tmp/my_key
Enter passphrase:
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDBJhVYDYxXOvcQw0iJTPY64anbwSyzI58hht6xCGJ2gzGUJDIsr1NDQsclka6s0J9TNhUEBBzKvh9nTAYibXwwhIqBwJ6UwWIfA3HY13WS161CUpuKv2A/PrfK0wLFBDBlwP6WjwJNfi4NwxA21GUS/Vcm/SuMwaFid9bM2Ap4wZIahx2fxyJhmHugGUFF9qYI4yRJchaVj7TxEmquCXgVf4RVWnOSs9/MTH8YvH+wHP4WmUzsDI+uaF1SpCyQ1DpazzPWAQPgZv9R8ihOrItLXC1W6TPJkt1CLr/YFpz6vapdola8cRw6g/jTYms00Yxf2hn0/o8ORpQ9qBpcAjJN
$ echo $?
0
Спроба отримати доступ до пари ключів, ввівши неправильну парольну фразу. Зауважте, що буде показано повідомлення про помилку "завантаження не вдалося" (повідомлення може відрізнятися залежно від ОС), а статус виходу ( $?
) буде 1
вказувати на помилку:
$ ssh-keygen -y -f /tmp/my_key
Enter passphrase:
load failed
$ echo $?
1
Спроба отримати доступ до пари ключів, яка не має парольної фрази. Зауважте, що немає пароля для парольної фрази, відкритий ключ буде показаний, а статус виходу ( $?
) буде 0
вказувати на успіх:
$ ssh-keygen -y -f /tmp/my_key_with_no_passphrase
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDLinxx9T4HE6Brw2CvFacvFrYcOSoQUmwL4Cld4enpg8vEiN8DB2ygrhFtKVo0qMAiGWyqz9gXweXhdmAIsVXqhOJIQvD8FqddA/SMgqM++2M7GxgH68N+0V+ih7EUqf8Hb2PIeubhkQJQGzB3FjYkvRLZqE/oC1Q5nL4B1L1zDQYPSnQKneaRNG/NGIaoVwsy6gcCZeqKHywsXBOHLF4F5nf/JKqfS6ojStvzajf0eyQcUMDVhdxTN/hIfEN/HdYbOxHtwDoerv+9f6h2OUxZny1vRNivZxTa+9Qzcet4tkZWibgLmqRyFeTcWh+nOJn7K3puFB2kKoJ10q31Tq19
$ echo $?
0
ssh-keygen -y
запитує файл ключа та пропонує за замовчуванням при натисканні повернення, як можна було б очікувати.
ssh-keygen -y
перевіряв парольну фразу свого ключа ssh. Це добре працювало, за винятком того, що мій Ubuntu став неймовірно повільним. Більшість програм може запуститися за хвилину або більше, поки використання процесора становило 100%. Після перезавантаження свого ноутбука я міг увійти в систему навряд чи, як пройшло кілька хвилин, щоб побачити свій робочий стіл. Нарешті я знайшов цю проблему на Ask Ubuntu . Я повинен був почати gnome-keyring-daemon
з вирішення проблеми.
Розширивши рішення @ RobBednark на певний сценарій Windows + PuTTY, ви можете це зробити:
Створіть пару ключів SSH з PuTTYgen (слідуючи вручну генеруючи ваш ключ SSH в Windows ), зберігаючи його у файлі PPK;
У контекстному меню Windows Explorer виберіть «Правка за допомогою PuTTYgen». Він запропонує ввести пароль.
Якщо ви введете неправильний пароль, він просто підкаже знову.
Зверніть увагу, якщо ви хочете ввести, використовуйте наступну команду в папку, яка містить файл ППК: puttygen private-key.ppk -y
.
Якщо ваш пароль для розблокування вашого ключа SSH, а у вас його немає ssh-agent
, але на вашій машині встановлено sshd (демон SSH), зробіть:
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys;
ssh localhost -i ~/.ssh/id_rsa
Де ~/.ssh/id_rsa.pub
відкритий ключ, і ~/.ssh/id_rsa
приватний ключ.
passphrase
, без пароля;)