Как я могу ввести кодовую фразу для SSH-ключа Git?

#git #github #ssh-keys

Вопрос:

Я пытаюсь сгенерировать SSH-ключ на Git, но застрял в части парольной фразы: я не могу его ввести. Поле парольной фразы отображается без каких-либо символов, даже если я их набираю.

 $ ssh-keygen -t ed25519 -C "my_email@email.com"
Generating public/private ed25519 key pair.
Enter file in which to save the key (/c/Users/me/.ssh/id_ed25519):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Passphrases do not match.  Try again.
 

Как вы можете видеть, я ничего не могу напечатать. Есть несколько похожих вопросов, в которых люди говорят, что текст скрыт, но технически вы все равно можете его ввести. Дело в том, что Git говорит, что парольная фраза не совпадает в обоих полях, хотя я технически набираю одни и те же символы в обоих из них. Я в Windows 10, с установленной последней 64-разрядной версией Git.

Просто чтобы было ясно, это моя цель:

Создайте SSH-ключ, чтобы мне не нужно было вводить свои учетные данные GitHub каждый раз, когда я хочу отправлять файлы в свой репозиторий GitHub.

Комментарии:

1. Просто чтобы проверить это, дважды нажмите клавишу ENTER (или RETURN, или любую другую обозначенную клавишу) на клавиатуре, чтобы вы использовали регистр без парольной фразы. Если это сработает, попробуйте использовать кодовую фразу из одной буквы, чтобы не допустить возможной ошибки, и расширяйте ее до тех пор, пока она не перестанет работать: возможно, в Windows 10 есть какая-то максимальная длина или что-то в этом роде.

Ответ №1:

Как сказал @torek:

дважды нажмите клавишу ENTER (или RETURN, или любую другую обозначенную клавишу) на клавиатуре, чтобы использовать регистр без парольной фразы […]

Это сработало!

Ответ №2:

Альтернативой было бы в CMD ввести парольную фразу напрямую.

 ssh-keygen -t rsa -q -f yourFile -N "<your passphrase>"
 

(Проверено в CMD с W10 и %PATH% ссылкой C:Program FilesGitusrbin , где ssh-keygen.exe есть)

Если вы не хотите задавать парольную фразу:

 ssh-keygen -t rsa -q -f yourFile -P ""
 

В обоих случаях цель состоит в том, чтобы не вводить никаких вводов: нет запроса на ответ.