TL;DR
以下のコマンドで、対象の秘密鍵のパスフレーズを変更できる。
空入力すればパスフレーズ無しになる。
ssh-keygen -f <秘密鍵のパス> -p
確認のログ
パスフレーズのセット
zaki@cloud-dev2:~$ ssh 192.168.0.206 -i ~/.ssh/id_key Last login: Wed Jan 29 12:27:18 2025 from 192.168.0.16 [zaki@fedora-dev3 ~]$
鍵をコピー(作業用)
zaki@cloud-dev2:~$ cp ~/.ssh/id_key ~/.ssh/id_key_pass
コピーした鍵にパスフレーズを設定する。
(下記実行ログはエコーがないので見えてないけどパスフレーズは適当に入力してる)
zaki@cloud-dev2:~$ ssh-keygen -f ~/.ssh/id_key_pass -p Key has comment '' Enter new passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved with the new passphrase.
コピー&パスフレーズを設定した鍵を指定したsshログインする。
zaki@cloud-dev2:~$ ssh 192.168.0.206 -i ~/.ssh/id_key_pass Enter passphrase for key '/home/zaki/.ssh/id_key_pass': Last login: Wed Jan 29 12:27:22 2025 from 192.168.0.16 [zaki@fedora-dev3 ~]$
この通り、設定したパスフレーズが必要になる。
パスフレーズの解除
「解除」という表現が適切かというのはとりあえず置いておいて。。
再度、以下のコマンドを実行し、パスフレーズの入力は空入力にする。
zaki@cloud-dev2:~$ ssh-keygen -f ~/.ssh/id_key_pass -p Enter old passphrase: Key has comment '' Enter new passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved with the new passphrase.
この秘密鍵を使ったSSHログインは以下の通り、パスフレーズの入力は不要になった。
zaki@cloud-dev2:~$ ssh 192.168.0.206 -i ~/.ssh/id_key_pass Last login: Wed Jan 29 12:39:16 2025 from 192.168.0.16 [zaki@fedora-dev3 ~]$