Ssh

您可以為 ssh-keygen 設置更大的預設客戶端密鑰長度嗎?

  • November 20, 2012

使用者使用ssh-keygen創建 RSA 密鑰對時,預設密鑰長度為 2048 位。

您可以使用 -b 參數在命令行上覆蓋它,但很少有使用者會打擾。

本文所述,如果您需要超過 2030 年的安全性,建議使用 3072 或更大的密鑰長度。有沒有辦法使 3072(或 4096)成為所有生成的密鑰的預設長度?我在 ssh_config 或 sshd_config 手冊頁中沒有看到它。還是需要重新編譯程序?

我認為沒有任何方法可以通過配置文件來做到這一點。您可以設置一個別名並將其放入 shell 初始化文件中。不過,這不會阻止使用者刪除別名並執行他們自己的命令。

alias ssh-keygen='ssh-keygen -b 3072'

然後

$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/iain/.ssh/id_rsa): /tmp/testkey
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /tmp/testkey.
Your public key has been saved in /tmp/testkey.pub.
The key fingerprint is:
47:3a:03:c8:ac:63:1c:bf:9d:44:1d:4b:b4:0e:66:04 
$ ssh-keygen -lf /tmp/testkey
3072 47:3a:03:c8:ac:63:1c:bf:9d:44:1d:4b:b4:0e:66:04 /tmp/testkey.pub

您可以將它放在每個(現有)使用者的 ~/.bashrc 和 /etc/skel/.bashrc 中,以便新使用者也能得到它。

引用自:https://serverfault.com/questions/277198