Показать статистику
0 голосов
от (2.4тыс. баллов)
Имеется связка из приватного и публичного ключей. Приватный ключ закрыт паролем, алгоритм шифрования - RSA или DSA. Ключи были сгенерированы с помощью утилиты ssh-keygen и сохранены в ~/.ssh.
Мне нужно поменять пароль на приватный ключ. Как это сделать в шеле (bash)? И еще - как вообще убрать пароль? Задать новый пустой?
1.1тыс. просмотров 2 ответов

2 Ответы

0 голосов
от (17.4тыс. баллов)

Что бы поменять парольную фразу на ваш DSA ключ, воспользуйтесь той же утилитой, которой ваши ключи были созданы:

$ ssh-keygen -p -f ~/.ssh/id_dsa

Рекомендую также ознакомиться в маном на ssh-keygen

SSH-KEYGEN(1)             BSD General Commands Manual            SSH-KEYGEN(1)

NAME
     ssh-keygen -- authentication key generation, management and conversion

SYNOPSIS
     ssh-keygen [-q] [-b bits] [-t dsa | ecdsa | ed25519 | rsa] [-N new_passphrase] [-C comment] [-f output_keyfile]
     ssh-keygen -p [-P old_passphrase] [-N new_passphrase] [-f keyfile]
     ssh-keygen -i [-m key_format] [-f input_keyfile]
     ssh-keygen -e [-m key_format] [-f input_keyfile]
     ssh-keygen -y [-f input_keyfile]
     ssh-keygen -c [-P passphrase] [-C comment] [-f keyfile]
     ssh-keygen -l [-v] [-E fingerprint_hash] [-f input_keyfile]
     ssh-keygen -B [-f input_keyfile]
     ssh-keygen -D pkcs11
     ssh-keygen -F hostname [-f known_hosts_file] [-l]
     ssh-keygen -H [-f known_hosts_file]
     ssh-keygen -R hostname [-f known_hosts_file]
     ssh-keygen -r hostname [-f input_keyfile] [-g]
     ssh-keygen -G output_file [-v] [-b bits] [-M memory] [-S start_point]
     ssh-keygen -T output_file -f input_file [-v] [-a rounds] [-J num_lines] [-j start_line] [-K checkpt] [-W generator]
     ssh-keygen -s ca_key -I certificate_identity [-h] [-U] [-D pkcs11_provider] [-n principals] [-O option] [-V validity_interval] [-z serial_number] file ...
     ssh-keygen -L [-f input_keyfile]
     ssh-keygen -A [-f prefix_path]
     ssh-keygen -k -f krl_file [-u] [-s ca_public] [-z version_number] file ...
     ssh-keygen -Q -f krl_file file ...

DESCRIPTION
     ssh-keygen generates, manages and converts authentication keys for ssh(1).  ssh-keygen can create keys for use by SSH protocol version 2.

     The type of key to be generated is specified with the -t option.  If invoked without any arguments, ssh-keygen will generate an RSA key.

     ssh-keygen is also used to generate groups for use in Diffie-Hellman group exchange (DH-GEX).  See the MODULI GENERATION section for details.

     Finally, ssh-keygen can be used to generate and update Key Revocation Lists, and to test whether given keys have been revoked by one.  See the KEY REVOCATION LISTS section for
     details.
[...]
0 голосов
от (4.5тыс. баллов)

Для изменения пароля приватного ключа, вы можете использовать утилиту `ssh-keygen` с опцией `-p`. Вот как вы можете сделать это в шелле (bash):

1. Изменение пароля приватного ключа: 

ssh-keygen -p -f ~/.ssh/your_private_key

Замените `your_private_key` на имя вашего приватного ключа, например, `id_rsa` или `id_dsa`.

После выполнения команды, вам будет предложено ввести старый пароль, а затем новый пароль дважды.

2. Удаление пароля с приватного ключа (задать пустой пароль):

Для этого выполните ту же команду: 

$ ssh-keygen -p -f ~/.ssh/your_private_key


Вам снова будет предложено ввести старый пароль. После этого, когда вам будет предложено ввести новый пароль, просто нажмите Enter, не вводя никакого пароля. Это удалит пароль с вашего приватного ключа и сделает его доступным без пароля.

Обратите внимание, что хранение приватного ключа без пароля может представлять риски для безопасности, так как любой, кто получит доступ к вашему ключу, сможет использовать его для аутентификации без знания пароля. Убедитесь, что вы принимаете все необходимые меры предосторожности для защиты своего приватного ключа.

...