zaki work log

作業ログやら生活ログやらなんやら

SSH秘密鍵のパスフレーズを変更(セット / 解除)する小ネタ

TL;DR

以下のコマンドで、対象の秘密鍵パスフレーズを変更できる。
空入力すればパスフレーズ無しになる。

ssh-keygen -f <秘密鍵のパス> -p

確認のログ

パスフレーズのセット

パスフレーズが設定されてない秘密鍵sshログインする。

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 ~]$