如何產生ssh key

如何產生ssh key

ssh-keygen是一個OpenSSH內建的ssh key產生工具,在各使用系統上都能夠使用。

基本的ssh key產生指令

ssh-keygen
# 會產生一個RSA的key,檔案名稱及phrase會在後續的prompt中設定。

根據不同的參數設定,我們可以產生不同類型及個人化的ssh key。

ssh-keygen -a 100 -t ed25519 -f "mysshkey" -C "lshuang@localhost"
# 會產生一個ed25519的key,檔案名稱為`mysshkey`,備註為`lshuang@localhost`

ssh-keygen常用參數

  • -a:指定key在產生的過程中加密的次數
  • -t:指定key的類型,選項有
    • DSA
    • ECDSA
    • ECDSA-SK
    • Ed25519
    • Ed25519-SK
    • RSA
  • -f:自訂檔案名稱,預設值為id_+-t所選的類型,例如id_ed25519
  • -b:指定密鑰長度(bits),
    • RSA最小值為1024,預設值為3072
    • DSA必為1024(根據FIPS 186-2)
    • ECDSA為256,384,512(使用非前三個值會出錯)
    • ECDSA-SK及Ed25519的長度為固定,使用此參數會自動忽略
  • -C:提供新的comment,預設為user@host

更改既有ssh key的phrase

ssh-keygen -p

根據prompt依序輸入舊密碼,及新密碼即可。