| SSH-TPM-KEYGEN(1) | ssh-tpm-keygen manual | SSH-TPM-KEYGEN(1) |
نام (NAME)
ssh-tpm-keygen - ابزار ایجاد کلید برای ssh-tpm-agent
خلاصه دستور (SYNOPSIS)
ssh-tpm-keygen [OPTIONS]...
ssh-tpm-keygen --wrap PATH --wrap-with PATH
ssh-tpm-keygen --import PATH
ssh-tpm-keygen --print-pubkey PATH
ssh-tpm-keygen --supported
ssh-tpm-keygen -p [-f keyfile] [-P old passphrase] [-N new passphrase]
ssh-tpm-keygen -A [-f path prefix] [--hierarchy hierarchy]
توضیحات (DESCRIPTION)
ssh-tpm-keygen برنامهای است که امکان ایجاد کلیدهای بستهبندیشده با TPM را برای ssh-tpm-agent فراهم میکند.
گزینهها (OPTIONS)
-A
-b BITS
-C COMMENT
-f PATH
-N PASSPHRASE
-o, --owner-password PASSPHRASE
-t [ecdsa | rsa]
-I, --import PATH
--parent-handle HIERARCHY
سلسلهمراتبهای موجود: - owner، o (پیشفرض) - endorsement، e - null، n - platform، p
--print-pubkey PATH
--supported
--hierarchy HIERARCHY
برای نحوه استفاده، بخش Hierarchy Keys در ssh-tpm-agent(1) را ببینید.
سلسلهمراتبهای موجود:
--wrap PATH
--wrap-with PATH
مثالها (EXAMPLES)
ایجاد کلید
ایجاد یک کلید با ssh-tpm-keygen.
$ ssh-tpm-keygen Generating a sealed public/private ecdsa key pair. Enter file in which to save the key (/home/user/.ssh/id_ecdsa): Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /home/user/.ssh/id_ecdsa.tpm Your public key has been saved in /home/user/.ssh/id_ecdsa.pub The key fingerprint is: SHA256:NCMJJ2La+q5tGcngQUQvEOJP3gPH8bMP98wJOEMV564 The key's randomart image is the color of television, tuned to a dead channel.
$ cat /home/user/.ssh/id_ecdsa.pub ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBOTOsMXyjTc1wiQSKhRiNhKFsHJNLzLk2r4foXPLQYKR0tuXIBMTQuMmc7OiTgNMvIjMrcb9adgGdT3s+GkNi1g=
وارد کردن کلید موجود
در صورتی که بخواهید از کلید در یک فضای ذخیرهسازی امن راه دور پشتیبان تهیه کنید و همزمان بهطور روزمره از طریق TPM از آن استفاده نمایید، مفید است.
یک کلید ایجاد کنید، یا از یک کلید موجود استفاده نمایید.
$ ssh-keygen -t ecdsa -f id_ecdsa Generating public/private ecdsa key pair. Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in id_ecdsa Your public key has been saved in id_ecdsa.pub The key fingerprint is: SHA256:bDn2EpX6XRX5ADXQSuTq+uUyia/eV3Z6MW+UtxjnXvU user@localhost The key's randomart image is: +---[ECDSA 256]---+ | .+=o..| | o. oo.| | o... .o| | . + .. ..| | S . . o| | o * . oo=*| | ..+.oo=+E| | .++o...o=| | .++++. .+ | +----[SHA256]-----+
کلید را با استفاده از سوییچ --import وارد کنید.
$ ssh-tpm-keygen --import id_ecdsa Sealing an existing public/private ecdsa key pair. Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in id_ecdsa.tpm The key fingerprint is: SHA256:bDn2EpX6XRX5ADXQSuTq+uUyia/eV3Z6MW+UtxjnXvU The key's randomart image is the color of television, tuned to a dead channel.
ایجاد و بستهبندی کلید خصوصی برای ماشین کلاینت روی سرور راه دور
در سمت کلاینت یک کلید اصلی (primary key) تحت یک سلسلهمراتب ایجاد کنید. این مثال از سلسلهمراتب owner به همراه یک SRK استفاده خواهد کرد.
فایل خروجی srk.pem باید به سمت راه دور که کلید را ایجاد میکند منتقل شود. این کار میتواند به عنوان بخشی از آمادهسازی (provisioning) کلاینت انجام پذیرد.
$ tpm2_createprimary -C o -G ecc -g sha256 -c prim.ctx -a 'restricted|decrypt|fixedtpm|fixedparent|sensitivedataorigin|userwithauth|noda' -f pem -o srk.pem
در سمت راه دور یک کلید SSH از نوع p256 بدون گذرواژه ایجاد میکنیم و آن را با استفاده از ssh-tpm-keygen به کمک srk.pem دریافتی از سمت کلاینت بستهبندی مینماییم.
$ ssh-keygen -t ecdsa -b 256 -N "" -f ./ecdsa.key
یا با openssl:
$ openssl genpkey -algorithm EC -pkeyopt ec_paramgen_curve:prime256v1 -out ecdsa.key
بستهبندی با ssh-tpm-keygen:
$ ssh-tpm-keygen --wrap-with srk.pub --wrap ecdsa.key -f wrapped_id_ecdsa
در سمت کلاینت میتوانیم wrapped_id_ecdsa را به یک کلید قابل بارگذاری بازگشایی (unwrap) کنیم.
$ ssh-tpm-keygen --import ./wrapped_id_ecdsa.tpm --output id_ecdsa.tpm $ ssh-tpm-add id_ecdsa.tpm
فایلها (FILES)
~/ssh/id_rsa.tpm, ~/ssh/id_ecdsa.tpm
~/ssh/id_rsa.pub, ~/ssh/id_ecdsa.pub
همچنین ببینید (SEE ALSO)
نکات، استانداردها و موارد دیگر (NOTES, STANDARDS AND OTHER)
مشخصات ASN.1 برای فایلهای کلید TPM 2.0 https://www.hansenpartnership.com/draft-bottomley-tpm2-keys.html
| 2026-08-10 | ssh-tpm-agent v0.9.0 |