.ie \n(.g .ds Aq \(aq .el .ds Aq ' .TH "puttygen" "1" "2004\(hy03\(hy24" "PuTTY\ tool\ suite" "PuTTY\ tool\ suite" .SH "نام (NAME)" .PP \fBputtygen\fP \- ابزار تولید کلید عمومی برای ابزارهای PuTTY .SH "خلاصه دستور (SYNOPSIS)" .PP .nf \fBputtygen\fP\ (\ \fIkeyfile\fP\ |\ \fB\-t\fP\ \fIkeytype\fP\ [\ \fB\-b\fP\ \fIbits\fP\ ]\ [\ \fB\-\-primes\fP\ \fImethod\fP\ ]\ [\ \fB\-q\fP\ ]\ ) \ \ \ \ \ \ \ \ \ [\ \fB\-C\fP\ \fInew\-comment\fP\ ]\ [\ \fB\-P\fP\ ]\ [\ \fB\-\-reencrypt\fP\ ] \ \ \ \ \ \ \ \ \ [\ \fB\-\-certificate\fP\ \fIcert\-file\fP\ |\ \fB\-\-remove\-certificate\fP\ ] \ \ \ \ \ \ \ \ \ [\ \fB\-O\fP\ \fIoutput\-type\fP\ |\ \fB\-l\fP\ |\ \fB\-L\fP\ |\ \fB\-p\fP\ |\ \fB\-\-dump\fP\ |\ \fB\-\-cert\-info\fP\ ] \ \ \ \ \ \ \ \ \ \ \ \ [\ \fB\-\-ppk\-param\fP\ \fIkey\fP\fB=\fP\fIvalue\fP\fB,\fP...\ |\ \fB\-E\fP\ \fIfptype\fP\ ] \ \ \ \ \ \ \ \ \ [\ \fB\-o\fP\ \fIoutput\-file\fP\ ] .fi .SH "توضیحات (DESCRIPTION)" .PP دستور \fBputtygen\fP ابزاری برای تولید و دستکاری جفت‌کلیدهای عمومی و خصوصی SSH است. این ابزار بخشی از مجموعهٔ PuTTY است، هرچند می‌تواند با قالب‌های کلید مورد استفاده توسط برخی کلاینت‌های دیگر SSH نیز سازگار باشد و کار کند. .PP هنگامی که \fBputtygen\fP را اجرا می‌کنید، سه کار انجام می‌دهد. نخست، یا یک فایل کلید موجود را بارگذاری می‌کند (اگر \fIkeyfile\fP را مشخص کرده باشید)، یا یک کلید جدید تولید می‌کند (اگر \fIkeytype\fP را مشخص کرده باشید). سپس، به دلخواه تغییراتی در کلید ایجاد می‌کند (مانند تغییر توضیح یا عبارت عبور)؛ و در نهایت، کلید یا اطلاعاتی دربارهٔ کلید را در یک فایل خروجی می‌دهد. .PP هر سه فاز با گزینه‌های شرح داده‌شده در بخش بعدی کنترل می‌شوند. .SH "گزینه‌ها (OPTIONS)" .PP در فاز نخست، \fBputtygen\fP کلیدی را بارگذاری یا تولید می‌کند. توجه داشته باشید که تولید کلید نیازمند داده‌های تصادفی است، که ممکن است باعث مکث \fBputtygen\fP شود؛ به‌ویژه اگر سیستم شما داده‌های تصادفی (انتروپی) چندانی در دسترس نداشته باشد، این مکث ممکن است مدتی طول بکشد. .PP گزینه‌های کنترل این فاز عبارتند از: .IP "\fIkeyfile\fP" مشخص کردن فایل کلیدی که باید بارگذاری شود. (از «\fB-\fP» برای خواندن فایل کلید از ورودی استاندارد استفاده کنید.) .RS .PP معمولاً این یک کلید خصوصی خواهد بود که می‌تواند در قالب کلید (استاندارد عملی) SSH-1، قالب کلید SSH-2 در PuTTY، یا یکی از دو قالب کلید خصوصی SSH-2 مورد استفاده توسط OpenSSH و پیاده‌سازی ssh.com باشد. .PP همچنین می‌توانید فایلی را مشخص کنید که تنها شامل یک کلید \fIعمومی\fP باشد. عملیاتی که می‌توانید انجام دهید به خروجی دادن قالب کلید عمومی دیگری (احتمالاً با حذف گواهی پیوست‌شده در ابتدا) یا اثر انگشت (fingerprint) محدود می‌شود. کلیدهای عمومی می‌توانند در قالب‌های RFC 4716 یا OpenSSH یا قالب استاندارد SSH-1 باشند. .RE .IP "\fB\-t\fP \fIkeytype\fP" مشخص کردن نوع کلید برای تولید. مقادیر پذیرفتنی در اینجا عبارتند از \fBrsa\fP، \fBdsa\fP، \fBecdsa\fP، \fBeddsa\fP، \fBed25519\fP، و \fBed448\fP (برای تولید کلیدهای SSH-2)، و \fBrsa1\fP (برای تولید کلیدهای SSH-1). .IP "\fB\-b\fP \fIbits\fP" مشخص کردن اندازهٔ کلید برای تولید، بر حسب بیت. مقدار پیش‌فرض برای کلیدهای \fBrsa\fP و \fBdsa\fP برابر با 2048 است. .IP "\fB\-\-primes\fP \fImethod\fP" روش تولید اعداد اول. مقادیر پذیرفتنی در اینجا عبارتند از \fBprobable\fP (پیش‌فرض)، \fBproven\fP، و \fBproven-even\fP؛ روش‌های بعدی کُندتر هستند. (مترادف‌های گوناگونی نیز برای نام این روش‌ها پذیرفته می‌شود.) .RS .PP روش «اعداد اول محتمل» (probable primes) ممکن است ناامن به نظر برسد، اما رایج‌ترین راهبرد تولید اعداد اول است. در تئوری این احتمال وجود دارد که تصادفاً عددی تولید شود که اول نباشد، اما نرم‌افزار به اندازه‌ای بررسی انجام می‌دهد که این احتمال بسیار ناچیز و نزدیک به صفر شود (کمتر از ۱ در 2^80 یا ۱ در 10^24). بنابراین در عمل، کسی چندان نگران آن نیست. .PP روش‌های دیگر باعث می‌شوند PuTTYgen از اعدادی استفاده کند که \fIمطمئن\fP است اول هستند، چرا که عدد خروجی را به همراه اثبات اول بودن آن تولید می‌کند. این کار نیاز به پردازش بیشتری دارد، اما آن خطر تئوری در روش احتمالی را از بین می‌برد. .PP اگر استاندارد امنیتی محلی خاصی دارید که این را می‌طلبد، یا اگر به استدلال احتمالی دربارهٔ ایمنی روش معمول اطمینان ندارید، می‌توانید از اعداد اول محتمل به اعداد اول اثبات‌شده تغییر حالت دهید. .RE .IP "\fB\-\-strong-rsa\fP" هنگام تولید کلید RSA، اطمینان حاصل می‌کند که عوامل اولِ پیمانهٔ کلید، «اعداد اول قوی» (strong primes) باشند. عدد اول قوی عدد اولی است که طوری انتخاب شده که ساختار خاصی داشته باشد تا اِعمال برخی الگوریتم‌های فاکتورگیری دشوارتر شود؛ از این رو برخی استانداردهای امنیتی استفاده از آن‌ها را توصیه می‌کنند. با این حال، پیشرفته‌ترین الگوریتم‌های مدرن فاکتورگیری تحت تأثیر این موضوع قرار نمی‌گیرند، بنابراین فعال‌سازی این گزینه احتمالاً ارزشش را ندارد \fIمگر آن‌که\fP استاندارد محلی خاصی استفاده از آن را توصیه کرده باشد. .IP "\fB\-q\fP" جلوگیری از نمایش روند پیشرفت هنگام تولید یک کلید جدید. .IP "\fB\-\-old\-passphrase\fP \fIfile\fP" مشخص کردن نام یک فایل؛ خط اول از این فایل خوانده شده (با حذف نویسهٔ خط جدید انتهایی) و به عنوان عبارت عبور قبلی استفاده می‌شود. \fBهشدار:\fP اگر عبارت عبور مهم است، فایل باید روی یک سیستم‌فایل موقت ذخیره شود یا پس از استفاده، به‌صورت امن پاک‌سازی شود. .IP "\fB\-\-random\-device\fP \fIdevice\fP" مشخص کردن دستگاهی که باید انتروپی از آن خوانده شود. به‌طور پیش‌فرض، \fBputtygen\fP از \fB/dev/urandom\fP استفاده می‌کند و در صورت نیاز به \fB/dev/random\fP بازمی‌گردد. .PP در فاز دوم، \fBputtygen\fP به دلخواه مشخصه‌های کلید بارگذاری‌شده یا تولیدشده را تغییر می‌دهد. گزینه‌های کنترل این بخش عبارتند از: .IP "\fB\-C\fP \fInew\-comment\fP" مشخص کردن یک رشتهٔ توضیح (comment) برای توصیف کلید. این رشته توسط PuTTY برای شناساندن کلید به شما استفاده خواهد شد (برای نمونه هنگام درخواست وارد کردن عبارت عبور، تا بدانید کدام عبارت عبور را تایپ کنید). .IP "\fB\-P\fP" نشان می‌دهد که می‌خواهید عبارت عبور کلید را تغییر دهید. این کار هنگام تولید یک کلید جدید خودکار است، اما هنگام ویرایش یک کلید موجود چنین نیست. .IP "\fB\-\-certificate\fP \fIcertificate-file\fP" افزودن یک گواهی به سبک OpenSSH به بخش عمومی کلید، به طوری که فایل خروجی شامل یک کلید عمومیِ دارای گواهی با همان کلید خصوصی باشد. اگر فایل ورودی از قبل دارای گواهی بود، با گواهی جدید جایگزین خواهد شد. (از «\fB-\fP» برای خواندن گواهی از ورودی استاندارد استفاده کنید.) .IP "\fB\-\-remove\-certificate\fP" حذف هرگونه گواهی که بخشی از کلید بوده است، جهت بازیابی نسخهٔ بدون گواهی کلید پایه‌ای. .IP "\fB\-\-reencrypt\fP" برای یک کلید خصوصی موجود که با یک عبارت عبور ذخیره شده است، رمزنگاری را بدون تغییر عبارت عبور تازه می‌کند. .RS .PP این گزینه بیش از همه به همراه گزینهٔ \fB\-\-ppk-param\fP برای تغییر برخی جنبه‌های قالب فایل کلید یا رمزنگاری آن کاربرد دارد. .RE .IP "\fB\-\-ppk-param\fP \fIkey\fP\fB=\fP\fIvalue\fP\fB,\fP..." هنگام ذخیرهٔ یک فایل PPK (نوع خروجی پیش‌فرض \fBprivate\fP برای کلیدهای SSH-2)، جزئیات قالب روی دیسک را تنظیم می‌کند. .RS .PP مواردی که باید تغییر کنند به صورت مجموعه‌ای از جفت‌های \fIkey\fP\fB=\fP\fIvalue\fP که با کاما جدا شده‌اند مشخص می‌شوند. شناسه‌های \fIkey\fP عبارتند از: .IP "\fBversion\fP" نسخهٔ قالب PPK. مقادیر ممکن \fB3\fP (پیش‌فرض) و \fB2\fP هستند (که در برابر رمزگشایی با حملهٔ جستجوی فراگیر مقاومت کمتری دارد، اما اگر کلید شما باید در نسخه‌های قدیمی ابزارهای PuTTY یا سایر برنامه‌های استفاده‌کننده از PPK به کار رود، ممکن است به آن نیاز داشته باشید). .RS .PP شناسه‌های \fIkey\fP زیر تنها روی فایل‌های نسخهٔ ۳ قالب PPK تأثیر می‌گذارند. .RE .IP "\fBkdf\fP" گونهٔ تابع اشتقاق کلید Argon2 برای استفاده. گزینه‌ها عبارتند از \fBargon2id\fP (پیش‌فرض و توصیه‌شده)، \fBargon2i\fP، و \fBargon2d\fP. .RS .PP اگر احتمال قرار گرفتن خود در معرض حملات کانال جانبی را متفاوت از حالت معمول ارزیابی می‌کنید، ممکن است بخواهید این گزینه را تغییر دهید. .RE .IP "\fBmemory\fP" میزان حافظهٔ مورد نیاز برای رمزگشایی کلید، بر حسب کیلوبایت. مقدار پیش‌فرض 8192 (یعنی ۸ مگابایت) است. .IP "\fBtime\fP" زمان تقریبی مورد نیاز روی این رایانه برای اقدام به رمزگشایی کلید، بر حسب میلی‌ثانیه. مقدار پیش‌فرض 100 (میلی‌ثانیه) است. .IP "\fBpasses\fP" جایگزینی برای \fBtime\fP: صریحاً تعداد مراحل درهم‌سازی مورد نیاز برای تلاش جهت رمزگشایی کلید را مشخص می‌کند. .IP "\fBparallelism\fP" تعداد ریسه‌های موازی که می‌توانند برای رمزگشایی کلید استفاده شوند. مقدار پیش‌فرض 1 است (رمزگشایی را وادار به اجرا به صورت تک‌ریسه‌ای می‌کند). .RE .PP در فاز سوم، \fBputtygen\fP کلید یا اطلاعاتی دربارهٔ آن را ذخیره می‌کند. گزینه‌های کنترل این بخش عبارتند از: .IP "\fB\-O\fP \fIoutput\-type\fP" نوع خروجی مورد نظری که می‌خواهید \fBputtygen\fP تولید کند را مشخص می‌کند. گزینه‌های پذیرفتنی عبارتند از: .RS .IP "\fBprivate\fP" ذخیرهٔ کلید خصوصی در قالبی قابل استفاده توسط PuTTY. این قالب یا قالب استاندارد کلید SSH-1 خواهد بود، یا قالب کلید SSH-2 اختصاصی PuTTY (به نام «PPK»). این گزینه پیش‌فرض است. .IP "\fBpublic\fP" تنها ذخیرهٔ کلید عمومی. برای کلیدهای SSH-1، قالب استاندارد کلید عمومی استفاده می‌شود («\fB1024 37 5698745\fP...»). برای کلیدهای SSH-2، کلید عمومی در قالب تعیین‌شده توسط RFC 4716 خروجی داده می‌شود، که یک فایل متنی چندخطی است و با خط «\fB---- BEGIN SSH2 PUBLIC KEY ----\fP» آغاز می‌شود. .IP "\fBpublic-openssh\fP" تنها ذخیرهٔ کلید عمومی، در قالبی قابل استفاده توسط OpenSSH. برای کلیدهای SSH-1، این قالب خروجی رفتاری کاملاً مشابه با \fBpublic\fP دارد. برای کلیدهای SSH-2، کلید عمومی در قالب OpenSSH خروجی داده می‌شود که یک تک‌خط است («\fBssh-rsa AAAAB3NzaC1yc2\fP...»). .IP "\fBfingerprint\fP" چاپ اثر انگشت کلید عمومی. گزینهٔ \fB-E\fP به شما اجازه می‌دهد تعیین کنید کدام الگوریتم اثر انگشت استفاده شود. تصور می‌شود که همهٔ الگوریتم‌ها با OpenSSH سازگار هستند. .IP "\fBprivate-openssh\fP" ذخیرهٔ یک کلید خصوصی SSH-2 در قالب OpenSSH، با استفاده از قدیمی‌ترین قالب موجود برای به حداکثر رساندن سازگاری عقبرو. این گزینه برای کلیدهای SSH-1 مجاز نیست. .IP "\fBprivate-openssh-new\fP" همانند \fBprivate-openssh\fP، با این تفاوت که استفاده از قالب جدیدتر OpenSSH را حتی برای کلیدهای RSA، DSA و ECDSA اجباری می‌کند. .IP "\fBprivate-sshcom\fP" ذخیرهٔ یک کلید خصوصی SSH-2 در قالب ssh.com. این گزینه برای کلیدهای SSH-1 مجاز نیست. .IP "\fBcert-info\fP" ذخیرهٔ یک رونوشت متنی از اطلاعات مربوط به گواهی موجود روی کلید، در صورت وجود: اینکه گواهی میزبان است یا کاربر، برای کدام میزبان(ها) یا کاربر(ها) صادر شده، دورهٔ اعتبار، شناسه و شماره سریال، و اثر انگشت CA امضاکننده. .IP "\fBtext\fP" ذخیرهٔ یک رونوشت متنی از مؤلفه‌های عددی تشکیل‌دهندهٔ کلید (هر دو بخش عمومی و خصوصی، در صورت وجود). برای اشکال‌زدایی یا استفاده از PuTTYgen به عنوان تولیدکنندهٔ کلید برای برنامه‌هایی غیر از SSH مفید است. .RS .PP خروجی شامل مجموعه‌ای از خطوط \fBname=value\fP است که در آن هر \fBvalue\fP یا یک رشتهٔ متنی به سبک C درون علامت نقل‌قول، یا یک عدد در مبنای شانزده است که با \fB0x...\fP آغاز می‌شود، یا یک دادهٔ دودویی کدگذاری‌شده با base64 است که با \fBb64("...")\fP نمایش داده می‌شود. .RE .PP اگر هیچ نوع خروجی مشخص نشود، مقدار پیش‌فرض \fBprivate\fP است. .RE .IP "\fB\-o\fP \fIoutput\-file\fP" مشخص کردن فایلی که \fBputtygen\fP باید خروجی خود را در آن بنویسد. اگر این گزینه مشخص نشود، چنانچه نوع فایل ورودی و خروجی یکسان باشد (مانند تغییر توضیح یا عبارت عبور)، \fBputtygen\fP فرض می‌کند که می‌خواهید روی فایل اصلی بازنویسی کنید؛ و اگر کلید عمومی، اثر انگشت، یا یکی از انواع رونوشت‌های متنی را درخواست کرده باشید، فرض می‌کند که می‌خواهید خروجی را در stdout بنویسد. در غیر این صورت، گزینهٔ \fB\-o\fP الزامی است. .IP "\fB\-l\fP" مترادفی برای «\fB-O fingerprint\fP». .IP "\fB\-L\fP" مترادفی برای «\fB-O public-openssh\fP». .IP "\fB\-p\fP" مترادفی برای «\fB-O public\fP». .IP "\fB\-\-cert\-info\fP" مترادفی برای «\fB-O cert-info\fP». .IP "\fB\-\-dump\fP" مترادفی برای «\fB-O text\fP». .IP "\fB-E\fP \fIfptype\fP" مشخص کردن الگوریتم مورد استفاده هنگام تولید اثر انگشت. الگوریتم‌های موجود عبارتند از \fBsha256\fP (پیش‌فرض) و \fBmd5\fP. .RS .PP به‌طور پیش‌فرض، هنگام نمایش اثر انگشت یک کلید عمومی حاوی گواهی، \fBputtygen\fP گواهی را لحاظ نمی‌کند تا اثر انگشت نمایش‌داده‌شده با کلید عمومی زیرین یکسان باشد. اگر اثر انگشت را همراه با گواهی می‌خواهید (برای نمونه، جهت تمایز دادن دو کلید دارای گواهی از یکدیگر)، می‌توانید \fBsha256-cert\fP یا \fBmd5-cert\fP را به عنوان نوع اثر انگشت تعیین کنید. .RE .IP "\fB\-\-new\-passphrase\fP \fIfile\fP" مشخص کردن نام یک فایل؛ خط نخست از این فایل خوانده شده (با حذف نویسهٔ خط جدید انتهایی) و به عنوان عبارت عبور جدید استفاده می‌شود. اگر فایل خالی باشد، کلید ذخیره‌شده بدون رمزنگاری خواهد بود. \fBهشدار:\fP اگر عبارت عبور اهمیت دارد، فایل باید روی یک سیستم‌فایل موقت ذخیره شود یا پس از استفاده به‌صورت امن پاک‌سازی گردد. .PP گزینه‌های زیر PuTTYgen را در حالت عادی اجرا نمی‌کنند، بلکه پیام‌های اطلاعاتی را چاپ کرده و سپس خارج می‌شوند: .IP "\fB\-h\fP, \fB\-\-help\fP" نمایش پیامی که خلاصه‌ای از گزینه‌های موجود را نشان می‌دهد. .IP "\fB\-V\fP, \fB\-\-version\fP" نمایش نسخهٔ PuTTYgen. .IP "\fB\-\-pgpfp\fP" نمایش اثر انگشت‌های کلیدهای اصلی PGP مربوط به PuTTY، جهت کمک به اعتبارسنجی فایل‌های جدید ارائه‌شده توسط تیم PuTTY. .SH "مثال‌ها (EXAMPLES)" .PP برای تولید یک جفت‌کلید SSH-2 RSA و ذخیرهٔ آن در قالب اختصاصی PuTTY (عبارت عبور از شما درخواست خواهد شد): .PP .nf puttygen\ \-t\ rsa\ \-C\ "my\ home\ key"\ \-o\ mykey.ppk .fi .PP برای تولید کلیدی بزرگ‌تر (۴۰۹۶ بیتی): .PP .nf puttygen\ \-t\ rsa\ \-b\ 4096\ \-C\ "my\ home\ key"\ \-o\ mykey.ppk .fi .PP برای تغییر عبارت عبور یک کلید (عبارت‌های عبور قبلی و جدید از شما درخواست خواهند شد): .PP .nf puttygen\ \-P\ mykey.ppk .fi .PP برای تغییر توضیح (comment) یک کلید: .PP .nf puttygen\ \-C\ "new\ comment"\ mykey.ppk .fi .PP برای تبدیل یک کلید به قالب کلید خصوصی OpenSSH: .PP .nf puttygen\ mykey.ppk\ \-O\ private\-openssh\ \-o\ my\-openssh\-key .fi .PP برای تبدیل یک کلید \fIاز\fP قالبی دیگر (\fBputtygen\fP به‌طور خودکار نوع کلید ورودی را تشخیص می‌دهد): .PP .nf puttygen\ my\-ssh.com\-key\ \-o\ mykey.ppk .fi .PP برای نمایش اثر انگشت SHA-256 یک کلید (برخی انواع کلید حتی برای استخراج همین مقدار اطلاعات نیز نیازمند عبارت عبور هستند): .PP .nf puttygen\ \-l\ mykey.ppk .fi .PP برای افزودن بخش عمومی کلید با قالب OpenSSH به فایل کلیدهای مجاز: .PP .nf puttygen\ \-L\ mykey.ppk\ >>\ $HOME/.ssh/authorized_keys .fi