.\" Created from Texinfo source by yat2m 1.61-unknown .TH GPG-AGENT 1 2025-02-19 "GnuPG 2.4.9" "GNU Privacy Guard 2.4" .SH "نام (NAME)" gpg\-agent \- دیمن مدیریت کلیدهای مخفی و احراز هویت برای GnuPG .SH "خلاصه دستور (SYNOPSIS)" .B gpg-agent .RB [ \-\-homedir .IR dir ] .RB [ \-\-options .IR file ] .RI [ options ] .br .B gpg-agent .RB [ \-\-homedir .IR dir ] .RB [ \-\-options .IR file ] .RI [ options ] .B \-\-server .br .B gpg-agent .RB [ \-\-homedir .IR dir ] .RB [ \-\-options .IR file ] .RI [ options ] .B \-\-daemon .RI [ command_line ] .SH "توضیحات (DESCRIPTION)" \fBgpg\-agent\fP یک دیمن برای مدیریت کلیدهای مخفی (خصوصی) به صورت مستقل از هرگونه پروتکل است. این برنامه به عنوان یک پشتیبان (بک‌اند) برای \fBgpg\fP و \fBgpgsm\fP و همچنین برای چند ابزار دیگر به کار می‌رود. این عامل در صورت نیاز به طور خودکار توسط \fBgpg\fP، \fBgpgsm\fP، \fBgpgconf\fP یا \fBgpg\-connect\-agent\fP راه‌اندازی می‌شود. بنابراین دلیلی برای راه‌اندازی دستی آن وجود ندارد. در صورتی که می‌خواهید از Secure Shell Agent موجود در آن استفاده کنید، می‌توانید عامل را با دستور زیر راه‌اندازی کنید: .RS 2 .nf gpg\-connect\-agent /bye .fi .RE اگر می‌خواهید عامل در حال اجرا را به صورت دستی متوقف کنید، می‌توانید با خیال راحت این کار را با دستور زیر انجام دهید: .RS 2 .nf gpgconf \-\-kill gpg\-agent .fi .RE شما همیشه باید خطوط زیر را به پروندهٔ \fB.bashrc\fP خود یا هر پروندهٔ راه‌اندازی دیگری که برای تمام فراخوانی‌های پوسته استفاده می‌شود اضافه کنید: .RS 2 .nf GPG_TTY=$(tty) export GPG_TTY .fi .RE مهم است که این متغیر محیطی همیشه خروجی دستور \fBtty\fP را منعکس کند. برای سیستم‌های W32 این گزینه مورد نیاز نیست. لطفاً اطمینان حاصل کنید که یک برنامهٔ مناسب pinentry تحت نام پروندهٔ پیش‌فرض (که وابسته به سیستم است) نصب شده باشد یا از گزینهٔ \fBpinentry\-program\fP برای تعیین نام کامل آن برنامه استفاده کنید. اغلب مفید است که یک پیوند نمادین از pinentry واقعیِ مورد استفاده (مانند \(oq\fI/usr/bin/pinentry\-gtk\fP\(cq) به مورد موردانتظار (مانند \(oq\fI/usr/bin/pinentry\fP\(cq) ایجاد شود. .SH "دستورات (COMMANDS)" دستورات تفاوتی با گزینه‌ها ندارند به جز اینکه فقط یک دستور مجاز است. .TP .B \-\-version چاپ نسخهٔ برنامه و اطلاعات مجوز. توجه داشته باشید که نمی‌توانید این دستور را به صورت مخفف بنویسید. .TP .B \-\-help .TQ .B \-h پیام راهنمای استفاده را که خلاصه‌ای از کاربردی‌ترین گزینه‌های خط فرمان است چاپ می‌کند. توجه داشته باشید که نمی‌توانید این دستور را مخفف کنید. .TP .B \-\-dump\-options فهرستی از تمام گزینه‌ها و دستورات موجود را چاپ می‌کند. توجه داشته باشید که نمی‌توانید این دستور را مخفف کنید. .TP .B \-\-server در حالت سرور اجرا می‌شود و در \fBstdin\fP منتظر دستورات می‌ماند. حالت پیش‌فرض، ایجاد یک سوکت و گوش دادن به دستورات در آنجا است. .TP .B \-\-daemon [\fIcommand line\fP] برنامه gpg-agent را به عنوان یک دیمن آغاز می‌کند؛ یعنی آن را از کنسول جدا کرده و در پس‌زمینه اجرا می‌کند. به عنوان یک روش جایگزین می‌توانید یک فرآیند جدید به عنوان فرزند gpg-agent ایجاد کنید: \fBgpg\-agent \-\-daemon /bin/sh\fP. به این ترتیب یک پوسته جدید با محیطی که به درستی تنظیم شده دریافت می‌کنید؛ پس از خروج از این پوسته، gpg-agent ظرف چند ثانیه خاتمه می‌یابد. .TP .B \-\-supervised در پیش‌زمینه اجرا می‌شود، گزارش‌ها را به طور پیش‌فرض به stderr می‌فرستد، و به توصیف‌کننده‌های فایل ارائه‌شده که از قبل باید به سوکت‌های شنونده متصل شده باشند گوش می‌دهد. این گزینه منسوخ شده است و در Windows پشتیبانی نمی‌شود. اگر در \(oq\fIcommon.conf\fP\(cq گزینه \fBno\-autostart\fP تنظیم شده باشد، هرگونه تلاش برای راه‌اندازی نادیده گرفته خواهد شد. در حالت --supervised، تا زمانی که توصیف‌کننده‌های فایل مختلف در متغیر محیطی \fBLISTEN_FDNAMES\fP مشخص شده باشند، می‌توان آن‌ها را برای استفاده به عنوان انواع مختلف سوکت (مانند ssh، extra) ارائه داد (برای اطلاعات بیشتر در مورد این قرارداد، sd_listen_fds(3) را در برخی توزیع‌های Linux ببینید). .P .SH "گزینه‌ها (OPTIONS)" گزینه‌ها ممکن است در خط فرمان یا پس از حذف دو خط تیره ابتدایی، در پرونده تنظیمات استفاده شوند. .TP .B \-\-options \fIfile\fP تنظیمات را به جای پرونده تنظیمات پیش‌فرض اختصاصی کاربر، از \fIfile\fP می‌خواند. پرونده تنظیمات پیش‌فرض \(oq\fIgpg\-agent.conf\fP\(cq نام دارد و انتظار می‌رود مستقیماً در دایرکتوری \(oq\fI.gnupg\fP\(cq زیر دایرکتوری خانگی کاربر قرار داشته باشد. اگر از این گزینه در یک پرونده گزینه‌ها استفاده شود، نادیده گرفته خواهد شد. .TP .B \-\-homedir \fIdir\fP نام دایرکتوری خانگی را به \fIdir\fP تنظیم می‌کند. اگر از این گزینه استفاده نشود، دایرکتوری خانگی به طور پیش‌فرض \(oq\fI~/.gnupg\fP\(cq خواهد بود. این گزینه تنها در صورتی که در خط فرمان داده شود شناخته می‌شود. همچنین بر هر دایرکتوری خانگی تعیین‌شده از طریق متغیر محیطی \(oq\fIGNUPGHOME\fP\(cq یا (در سیستم‌های Windows) به وسیله مدخل رجیستری \fIHKCU\[rs]Software\[rs]GNU\[rs]GnuPG:HomeDir\fP اولویت دارد. در سیستم‌های Windows امکان نصب GnuPG به عنوان یک برنامه قابل‌حمل (portable) وجود دارد. در این حالت تنها این گزینه خط فرمان در نظر گرفته می‌شود و تمام روش‌های دیگر برای تنظیم دایرکتوری خانگی نادیده گرفته می‌شوند. .TP .B \-v .TQ .B \-\-verbose اطلاعات بیشتری را هنگام اجرا در خروجی نمایش می‌دهد. می‌توانید با دادن چندین دستور verbose به \fBgpg\-agent\fP، مانند \(oq\-vv\(cq، میزان پرگویی (جزئیات خروجی) را افزایش دهید. .TP .B \-q .TQ .B \-\-quiet تلاش می‌کند تا جای ممکن بی‌صدا باشد. .TP .B \-\-batch برنامه pinentry را فراخوانی نمی‌کند و هیچ کار دیگری را که نیازمند تعامل انسانی باشد انجام نمی‌دهد. .TP .B \-\-faked\-system\-time \fIepoch\fP این گزینه فقط برای آزمودن کاربرد دارد؛ زمان سیستم را به عقب یا جلو به \fIepoch\fP تنظیم می‌کند که تعداد ثانیه‌های سپری‌شده از ابتدای سال 1970 است. .TP .B \-\-debug\-level \fIlevel\fP انتخاب سطح اشکال‌زدایی برای بررسی مشکلات. \fIlevel\fP می‌تواند یک مقدار عددی یا یک کلمهٔ کلیدی باشد: .RS .TP .B none بدون هیچ اشکال‌زدایی. می‌توان به جای کلمهٔ کلیدی از مقداری کمتر از 1 استفاده کرد. .TP .B basic برخی پیام‌های اشکال‌زدایی پایه. می‌توان به جای کلمهٔ کلیدی از مقداری بین 1 و 2 استفاده کرد. .TP .B advanced پیام‌های اشکال‌زدایی با جزئیات بیشتر. می‌توان به جای کلمهٔ کلیدی از مقداری بین 3 و 5 استفاده کرد. .TP .B expert پیام‌هایی با جزئیات حتی بیشتر. می‌توان به جای کلمهٔ کلیدی از مقداری بین 6 و 8 استفاده کرد. .TP .B guru تمام پیام‌های اشکال‌زدایی ممکن. می‌توان به جای کلمهٔ کلیدی از مقداری بزرگ‌تر از 8 استفاده کرد. ایجاد پرونده‌های ردگیری هش تنها در صورت استفاده از این کلمهٔ کلیدی فعال می‌شود. .RE نحوهٔ نگاشت این پیام‌ها به پرچم‌های اشکال‌زدایی واقعی مشخص نشده است و ممکن است در نسخه‌های جدیدتر این برنامه تغییر کند. با این حال، آنها با دقت انتخاب شده‌اند تا بیشترین کمک را به اشکال‌زدایی برسانند. .TP .B \-\-debug \fIflags\fP تنظیم پرچم‌های اشکال‌زدایی. همهٔ پرچم‌ها با هم OR می‌شوند و \fIflags\fP می‌تواند در ساختار نحوی C (مانند 0x0042) یا به صورت فهرستی از نام پرچم‌ها که با کاما از هم جدا شده‌اند، داده شود. برای دریافت فهرستی از تمام پرچم‌های پشتیبانی‌شده می‌توان از تک‌واژهٔ "help" استفاده کرد. این گزینه تنها برای اشکال‌زدایی سودمند است و رفتار آن ممکن است در هر زمانی بدون اطلاع قبلی تغییر کند. .TP .B \-\-debug\-all همانند \fB\-\-debug=0xffffffff\fP .TP .B \-\-debug\-wait \fIn\fP هنگام اجرا در حالت سرور، پیش از ورود به حلقهٔ پردازش اصلی، \fIn\fP ثانیه درنگ کرده و pid را چاپ می‌کند. این کار زمان کافی برای اتصال یک اشکال‌زدا را فراهم می‌سازد. .TP .B \-\-debug\-quick\-random این گزینه از استفاده از سطح کیفیت تصادفی بسیار امن (\fBGCRY_VERY_STRONG_RANDOM\fP در Libgcrypt) جلوگیری کرده و تمام درخواست‌ها را به کیفیت تصادفی استاندارد تقلیل می‌دهد. این گزینه تنها برای آزمودن به کار می‌رود و نباید برای هیچ کلیدی در محیط عملیاتی استفاده شود. این گزینه تنها زمانی مؤثر است که در خط فرمان داده شود. در GNU/Linux، راه دیگر برای تولید سریع کلیدهای ناامن، استفاده از \fBrngd\fP برای پر کردن استخر آنتروپی هسته با داده‌های تصادفی با کیفیت پایین‌تر است. \fBrngd\fP معمولاً توسط بستهٔ \fBrng\-tools\fP ارائه می‌شود. می‌توان آن را به این صورت اجرا کرد: \(oqsudo rngd \-f \-r /dev/urandom\(cq. .TP .B \-\-debug\-pinentry این گزینه اطلاعات اشکال‌زدایی اضافی مربوط به Pinentry را فعال می‌کند. در حال حاضر این گزینه تنها زمانی سودمند است که همراه با \fB\-\-debug 1024\fP استفاده شود. .TP .B \-\-no\-detach فرایند را از کنسول جدا نمی‌کند. این گزینه عمدتاً برای اشکال‌زدایی سودمند است. .TP .B \-\-steal\-socket در حالت \fB\-\-daemon\fP، gpg-agent یک gpg-agent در حال اجرای دیگر را تشخیص داده و اجازه نمی‌دهد نمونهٔ جدیدی آغاز شود. از این گزینه می‌توان برای نادیده گرفتن این بررسی استفاده کرد: فرایند جدید gpg-agent تلاش خواهد کرد سوکت‌های ارتباطی را از فرایند در حال اجرا در اختیار بگیرد و در هر صورت شروع به کار کند. از این گزینه به‌طور کلی نباید استفاده شود. .TP .B \-s .TQ .B \-\-sh .TQ .B \-c .TQ .B \-\-csh قالب‌بندی خروجی اطلاعات در حالت دیمن به‌ترتیب جهت استفاده در شل استاندارد Bourne یا C-shell. حالت پیش‌فرض، حدس زدن آن بر اساس متغیر محیطی \fBSHELL\fP است که تقریباً در تمام موارد درست عمل می‌کند. .TP .B \-\-grab .TQ .B \-\-no\-grab به pinentry اعلام می‌کند که صفحه‌کلید و ماوس را در انحصار خود بگیرد (grab کند). این گزینه باید روی X-Serverها برای جلوگیری از حملات شنود در X (حملات X-sniffing) استفاده شود. هرگونه استفاده از گزینهٔ \fB\-\-grab\fP بر گزینهٔ استفاده‌شدهٔ \fB\-\-no\-grab\fP اولویت داشته و آن را لغو می‌کند. مقدار پیش‌فرض \fB\-\-no\-grab\fP است. .TP .B \-\-log\-file \fIfile\fP تمام خروجی‌های ثبت گزارش را به انتهای \fIfile\fP می‌افزاید. این کار برای مشاهدهٔ آنچه که agent در عمل انجام می‌دهد بسیار مفید است. از \(oq\fIsocket://\fP\(cq برای ثبت گزارش در سوکت استفاده کنید. اگر در پلتفرم ویندوز نه فایل گزارش و نه توصیف‌گر فایل گزارش تنظیم نشده باشد، ورودی رجیستری \fBHKCU\[rs]Software\[rs]GNU\[rs]GnuPG:DefaultLogFile\fP (در صورت تنظیم بودن) برای تعیین خروجی گزارش‌گیری استفاده می‌شود. .TP .B \-\-no\-allow\-mark\-trusted به کلاینت‌ها اجازه نمی‌دهد کلیدها را به‌عنوان مورد اعتماد علامت‌گذاری کنند، یعنی آن‌ها را در فایل \(oq\fItrustlist.txt\fP\(cq قرار دهند. این کار پذیرش ناخواسته و سهوی کلیدهای Root-CA را برای کاربران دشوارتر می‌کند. .TP .B \-\-no\-user\-trustlist لیست اعتماد کاربر را کاملاً نادیده می‌گیرد و تنها لیست اعتماد سراسری (\(oq\fI/etc/gnupg/trustlist.txt\fP\(cq) را در نظر می‌گیرد. این امر به‌طور ضمنی شامل گزینهٔ \fB\-\-no\-allow\-mark\-trusted\fP است. .TP .B \-\-sys\-trustlist\-name \fIfile\fP نام پیش‌فرض لیست اعتماد سراسری را از "trustlist.txt" به \fIfile\fP تغییر می‌دهد. اگر \fIfile\fP شامل هیچ اسلشی نباشد و با "~/" شروع نشود، در دایرکتوری پیکربندی سیستم (\(oq\fI/etc/gnupg\fP\(cq) جستجو می‌شود. .TP .B \-\-allow\-preset\-passphrase این گزینه امکان استفاده از \fBgpg\-preset\-passphrase\fP را برای مقداردهی اولیهٔ حافظهٔ پنهان داخلی \fBgpg\-agent\fP با گذرواژه‌ها فراهم می‌کند. .TP .B \-\-no\-allow\-loopback\-pinentry .TP .B \-\-allow\-loopback\-pinentry به کلاینت‌ها اجازه می‌دهد یا مانع آن‌ها می‌شود که از قابلیت‌های loopback pinentry استفاده کنند؛ برای جزئیات به گزینهٔ \fBpinentry\-mode\fP مراجعه کنید. حالت مجاز (Allow) پیش‌فرض است. گزینهٔ \fB\-\-force\fP در دستور Assuan با نام \fBDELETE_KEY\fP نیز توسط این گزینه کنترل می‌شود: در صورتی که loopback pinentry غیرمجاز باشد، این گزینه نادیده گرفته می‌شود. .TP .B \-\-no\-allow\-external\-cache به Pinentry اعلام می‌کند قابلیت‌هایی را که از یک حافظهٔ پنهان خارجی برای گذرواژه‌ها استفاده می‌کنند، فعال نکند. برخی از محیط‌های رومیزی ترجیح می‌دهند تمام اطلاعات اعتبارسنجی را با یک گذرواژهٔ اصلی باز کنند و ممکن است یک Pinentry نصب کرده باشند که برای پیاده‌سازی چنین سیاستی از یک حافظهٔ پنهان خارجی اضافی استفاده می‌کند. با استفاده از این گزینه، به Pinentry توصیه می‌شود از چنین حافظهٔ پنهانی استفاده نکند و در عوض همیشه گذرواژهٔ درخواستی را از کاربر بپرسد. .TP .B \-\-allow\-emacs\-pinentry به Pinentry اعلام می‌کند قابلیت‌های انتقال ورود گذرواژه به یک نمونهٔ در حال اجرای Emacs را مجاز بداند. نحوهٔ دقیق انجام این کار به نسخهٔ Pinentry مورد استفاده بستگی دارد. .TP .B \-\-ignore\-cache\-for\-signing این گزینه به \fBgpg\-agent\fP اجازه می‌دهد حافظهٔ نهان عبارت عبور را برای تمام عملیات‌های امضا دور بزند. توجه داشته باشید که گزینه‌ای برای هر نشست نیز به منظور کنترل این رفتار وجود دارد، اما این گزینهٔ خط فرمان اولویت دارد. .TP .B \-\-default\-cache\-ttl \fIn\fP مدت‌زمان معتبر بودن یک مدخل حافظهٔ نهان را روی \fIn\fP ثانیه تنظیم می‌کند. مقدار پیش‌فرض 600 ثانیه است. هر بار که به یک مدخل در حافظهٔ نهان دسترسی پیدا شود، تایمر آن مدخل بازنشانی می‌شود. برای تنظیم حداکثر طول عمر یک مدخل، از \fBmax\-cache\-ttl\fP استفاده کنید. توجه داشته باشید که اگر هیچ کلاینتی درخواست عملیات حافظهٔ نهان ندهد، ممکن است عبارت عبور ذخیره‌شده بلافاصله از حافظه خارج نشود. این امر به دلیل یک تابع خانه‌داری داخلی است که تنها هر چند ثانیه یک بار اجرا می‌شود. .TP .B \-\-default\-cache\-ttl\-ssh \fIn\fP مدت‌زمان معتبر بودن یک مدخل حافظهٔ نهانِ استفاده‌شده برای کلیدهای SSH را روی \fIn\fP ثانیه تنظیم می‌کند. مقدار پیش‌فرض 1800 ثانیه است. هر بار که به یک مدخل در حافظهٔ نهان دسترسی پیدا شود، تایمر آن مدخل بازنشانی می‌شود. برای تنظیم حداکثر طول عمر یک مدخل، از \fBmax\-cache\-ttl\-ssh\fP استفاده کنید. .TP .B \-\-max\-cache\-ttl \fIn\fP حداکثر مدت‌زمان معتبر بودن یک مدخل حافظهٔ نهان را روی \fIn\fP ثانیه تنظیم می‌کند. پس از این مدت، یک مدخل حافظهٔ نهان منقضی خواهد شد حتی اگر اخیراً به آن دسترسی پیدا شده باشد یا با استفاده از \fBgpg\-preset\-passphrase\fP تنظیم شده باشد. مقدار پیش‌فرض 2 ساعت (7200 ثانیه) است. .TP .B \-\-max\-cache\-ttl\-ssh \fIn\fP حداکثر مدت‌زمان معتبر بودن یک مدخل حافظهٔ نهانِ استفاده‌شده برای کلیدهای SSH را روی \fIn\fP ثانیه تنظیم می‌کند. پس از این مدت، یک مدخل حافظهٔ نهان منقضی خواهد شد حتی اگر اخیراً به آن دسترسی پیدا شده باشد یا با استفاده از \fBgpg\-preset\-passphrase\fP تنظیم شده باشد. مقدار پیش‌فرض 2 ساعت (7200 ثانیه) است. .TP .B \-\-enforce\-passphrase\-constraints محدودیت‌های عبارت عبور را با اجازه ندادن به کاربر برای دور زدن آن‌ها از طریق دکمهٔ ``Take it anyway'' اجباری می‌کند. .TP .B \-\-min\-passphrase\-len \fIn\fP حداقل طول یک عبارت عبور را تعیین می‌کند. هنگام وارد کردن عبارت عبور جدیدی که کوتاه‌تر از این مقدار باشد، هشداری نمایش داده خواهد شد. پیش‌فرض 8 است. .TP .B \-\-min\-passphrase\-nonalpha \fIn\fP حداقل تعداد ارقام یا نویسه‌های خاصِ موردنیاز در یک عبارت عبور را تعیین می‌کند. هنگام وارد کردن عبارت عبور جدیدی با تعداد ارقام یا نویسه‌های خاص کمتر از این مقدار، هشداری نمایش داده خواهد شد. پیش‌فرض 1 است. .TP .B \-\-check\-passphrase\-pattern \fIfile\fP .TQ .B \-\-check\-sym\-passphrase\-pattern \fIfile\fP عبارت عبور را در برابر الگوی داده‌شده در \fIfile\fP بررسی می‌کند. هنگام وارد کردن عبارت عبور جدیدی که با یکی از این الگوها مطابقت داشته باشد، هشداری نمایش داده خواهد شد. اگر \fIfile\fP شامل هیچ خط موربی (اسلش) نباشد و با "~/" شروع نشود، در پوشهٔ پیکربندی سیستم (\(oq\fI/etc/gnupg\fP\(cq) جستجو می‌شود. پیش‌فرض این است که از هیچ پروندهٔ الگویی استفاده نشود. نگارش دوم این گزینه فقط هنگام ایجاد یک کلید متقارن جدید به کار می‌رود تا امکان استفاده از الگوهای متفاوت برای چنین عبارت‌های عبوری فراهم شود. نکتهٔ امنیتی: مشخص شده است که بررسی عبارت عبور در برابر فهرستی از الگوها یا حتی در برابر یک واژه‌نامهٔ کامل، برای وادار کردن به استفاده از عبارت‌های عبور مناسب چندان مؤثر نیست. کاربران به زودی راه‌هایی برای دور زدن چنین سیاستی پیدا خواهند کرد. سیاست بهتر، آموزش رفتارهای امنیتی مناسب به کاربران و در صورت تمایل اجرای منظم یک ابزار شکستن عبارت عبور بر روی عبارت‌های عبور تمام کاربران برای شناسایی موارد بسیار ساده است. .TP .B \-\-max\-passphrase\-days \fIn\fP اگر \fIn\fP روز از آخرین تغییر گذشته باشد، از کاربر می‌خواهد عبارت عبور را تغییر دهد. با تنظیم بودن \fB\-\-enforce\-passphrase\-constraints\fP، کاربر نمی‌تواند این بررسی را دور بزند. .TP .B \-\-enable\-passphrase\-history این گزینه هنوز کاری انجام نمی‌دهد. .TP .B \-\-pinentry\-invisible\-char \fIchar\fP این گزینه از Pinentry درخواست می‌کند تا از \fIchar\fP برای نمایش نویسه‌های پنهان استفاده کند. \fIchar\fP باید یک رشتهٔ UTF-8 تک‌نویسه‌ای باشد. یک Pinentry ممکن است این درخواست را بپذیرد یا نپذیرد. .TP .B \-\-pinentry\-timeout \fIn\fP این گزینه از Pinentry می‌خواهد که پس از \fIn\fP ثانیه بدون ورودی کاربر، با پایان مهلت زمانی (timeout) مواجه شود. مقدار پیش‌فرض 0 از pinentry درخواست پایان زمان نمی‌کند، با این حال در این حالت ممکن است Pinentry از مقدار مهلت زمانی پیش‌فرض خود استفاده کند. ممکن است Pinentry این درخواست را بپذیرد یا نپذیرد. .TP .B \-\-pinentry\-formatted\-passphrase این گزینه از Pinentry می‌خواهد هنگام درخواست عبارت عبور جدید از کاربر در زمانی که پنهان‌سازی عبارت عبور غیرفعال است، قالب‌بندی عبارت عبور را فعال کند. اگر قالب‌بندی عبارت عبور فعال باشد، تمام نویسه‌های فاصله نشکن (non-breaking space) از عبارت عبور واردشده حذف می‌شوند. قالب‌بندی عبارت عبور بیش از همه در ترکیب با عبارت‌های عبور تولیدشده با ویژگی GENPIN در برخی از برنامه‌های Pinentry مفید است. توجه داشته باشید که چنین عبارت عبور تولیدشده‌ای، در صورت عدم دستکاری توسط کاربر، از بررسی تمام محدودیت‌های عبارت عبور عبور می‌کند، زیرا این محدودیت‌ها در عمل موجب تضعیف عبارت عبور تولیدشده می‌شوند. .TP .B \-\-pinentry\-program \fIfilename\fP از برنامه \fIfilename\fP به عنوان ورودی PIN استفاده می‌کند. مقدار پیش‌فرض به نوع نصب وابسته است. در پیکربندی پیش‌فرض، نام pinentry پیش‌فرض \(oq\fIpinentry\fP\(cq است؛ اگر آن پرونده وجود نداشته باشد اما پرونده \(oq\fIpinentry\-basic\fP\(cq موجود باشد، از دومی استفاده می‌شود. در بستر Windows پیش‌فرض استفاده از نخستین برنامه موجود از این فهرست است: \(oq\fIbin\[rs]pinentry.exe\fP\(cq, \(oq\fI..\[rs]Gpg4win\[rs]bin\[rs]pinentry.exe\fP\(cq, \(oq\fI..\[rs]Gpg4win\[rs]pinentry.exe\fP\(cq, \(oq\fI..\[rs]GNU\[rs]GnuPG\[rs]pinentry.exe\fP\(cq, \(oq\fI..\[rs]GNU\[rs]bin\[rs]pinentry.exe\fP\(cq, \(oq\fIbin\[rs]pinentry\-basic.exe\fP\(cq که در آن نام پرونده‌ها نسبت به پوشه نصب GnuPG هستند. .TP .B \-\-pinentry\-touch\-file \fIfilename\fP به‌طور پیش‌فرض، نام پرونده سوکتی که gpg-agent روی آن به درخواست‌ها گوش می‌دهد به Pinentry تحویل داده می‌شود تا بتواند پیش از خروج، آن پرونده را لمس (touch) کند (این کار را تنها در حالت curses انجام می‌دهد). این گزینه پرونده ارسال‌شده به Pinentry را به \fIfilename\fP تغییر می‌دهد. نام ویژه \fB/dev/null\fP ممکن است برای غیرفعال کردن کامل این قابلیت استفاده شود. توجه داشته باشید که Pinentry آن پرونده را ایجاد نخواهد کرد، بلکه تنها زمان دسترسی و تغییر آن را به‌روزرسانی می‌کند. .TP .B \-\-scdaemon\-program \fIfilename\fP از برنامه \fIfilename\fP به عنوان دیمن کارت هوشمند (Smartcard) استفاده می‌کند. مقدار پیش‌فرض به نوع نصب بستگی دارد و می‌تواند با دستور \fBgpgconf\fP نمایش داده شود. .TP .B \-\-disable\-scdaemon از ابزار scdaemon استفاده نمی‌کند. این گزینه قابلیت انجام عملیات‌های کارت هوشمند را غیرفعال می‌کند. توجه داشته باشید که فعال کردن این گزینه در زمان اجرا، فرایند scdaemon که از قبل انشعاب‌یافته (fork شده) را متوقف نمی‌کند. .TP .B \-\-disable\-check\-own\-socket \fBgpg\-agent\fP برای شناسایی سوکت سرقت‌شده از یک خودآزمایی دوره‌ای استفاده می‌کند. این معمولاً به این معنی است که نمونه دوم \fBgpg\-agent\fP سوکت را به دست گرفته است و پس از آن \fBgpg\-agent\fP به کار خود پایان می‌دهد. این گزینه می‌تواند برای غیرفعال کردن این خودآزمایی به منظور اهداف اشکال‌زدایی استفاده شود. .TP .B \-\-use\-standard\-socket .TQ .B \-\-no\-use\-standard\-socket .TQ .B \-\-use\-standard\-socket\-p از GnuPG 2.1 به بعد همیشه از سوکت استاندارد استفاده می‌شود. این گزینه‌ها دیگر هیچ اثری ندارند. بنابراین دستور \fBgpg\-agent \-\-use\-standard\-socket\-p\fP همیشه وضعیت موفقیت را بازمی‌گرداند. .TP .B \-\-display \fIstring\fP .TQ .B \-\-ttyname \fIstring\fP .TQ .B \-\-ttytype \fIstring\fP .TQ .B \-\-lc\-ctype \fIstring\fP .TQ .B \-\-lc\-messages \fIstring\fP .TQ .B \-\-xauthority \fIstring\fP این گزینه‌ها همراه با حالت سرور برای انتقال اطلاعات بومی‌سازی استفاده می‌شوند. .TP .B \-\-keep\-tty .TQ .B \-\-keep\-display درخواست‌ها برای تغییر \fBtty\fP جاری یا متغیر \fBDISPLAY\fP در سامانه پنجرهٔ X را به ترتیب نادیده می‌گیرد. این برای قفل کردن pinentry جهت باز شدن در همان \fBtty\fP یا نمایشگری که عامل را در آن راه‌اندازی کرده‌اید مفید است. .TP .B \-\-listen\-backlog \fIn\fP اندازهٔ صف اتصالات در انتظار را تنظیم می‌کند. پیش‌فرض 64 است. .TP .B \-\-extra\-socket \fIname\fP سوکت اضافی به‌طور پیش‌فرض ایجاد می‌شود، می‌توانید از این گزینه برای تغییر نام سوکت استفاده کنید. برای غیرفعال کردن ایجاد سوکت، از ``none'' یا ``/dev/null'' برای \fIname\fP استفاده کنید. همچنین روی اتصالات بومی gpg-agent در سوکت داده‌شده گوش می‌دهد. کاربرد مورد نظر برای این سوکت اضافی، راه‌اندازی بازارسال سوکت دامنه یونیکس (Unix domain socket forwarding) از یک ماشین دوردست به این سوکت در ماشین محلی است. سپس یک \fBgpg\fP در حال اجرا روی ماشین دوردست می‌تواند به gpg-agent محلی متصل شده و از کلیدهای خصوصی آن استفاده کند. این قابلیت، امکان رمزگشایی یا امضای داده‌ها را در یک ماشین دوردست بدون افشای کلیدهای خصوصی به ماشین دوردست فراهم می‌کند. .TP .B \-\-enable\-extended\-key\-format .TQ .B \-\-disable\-extended\-key\-format این گزینه‌ها منسوخ شده‌اند و هیچ تأثیری ندارند. قالب کلید گسترش‌یافته اکنون سال‌هاست استفاده می‌شود و از نگارش 2.1.12 پشتیبانی شده است. کلیدهای موجود با قالب قدیمی به محض دسترسی به آن‌ها به قالب جدید منتقل می‌شوند. .TP .B \-\-enable\-ssh\-support .TQ .B \-\-enable\-win32\-openssh\-support .TQ .B \-\-enable\-putty\-support در بسترهای یونیکس پروتکل OpenSSH Agent همیشه فعال است، اما \fBgpg\-agent\fP تنها در صورتی متغیر \fBSSH_AUTH_SOCK\fP را تنظیم می‌کند که گزینهٔ \fBenable\-ssh\-support\fP مشخص شده باشد. برخی توزیع‌های لینوکس از حضور این گزینه برای تصمیم‌گیری دربارهٔ اینکه آیا ssh-agent قدیمی باید راه‌اندازی شود یا خیر استفاده می‌کنند. در ویندوز، پشتیبانی از پیاده‌سازی بومی ssh باید با استفاده از گزینهٔ \fBenable\-win32\-openssh\-support\fP فعال شود. برای استفاده از gpg-agent به عنوان جایگزین Pageant در PuTTY، گزینهٔ \fBenable\-putty\-support\fP باید فعال باشد. در این حالت کاری، عامل نه‌تنها پروتکل gpg-agent، بلکه پروتکل عامل مورد استفاده توسط OpenSSH (از طریق یک سوکت جداگانه یا Named Pipes) یا پروتکل مورد استفادهٔ PuTTY را نیز پیاده‌سازی می‌کند. در نتیجه، این قابلیت امکان استفاده از gpg-agent را به عنوان جایگزین مستقیم ssh-agent فراهم می‌آورد. کلیدهای SSH که قرار است از طریق عامل استفاده شوند، ابتدا باید از طریق ابزار ssh-add به gpg-agent افزوده شوند. هنگامی که کلیدی افزوده می‌شود، ssh-add گذرواژهٔ پروندهٔ کلید ارائه‌شده را درخواست کرده و داده‌های کلید محافظت‌نشده را به عامل ارسال می‌کند؛ این امر موجب می‌شود gpg-agent عبارت عبوری (passphrase) درخواست کند که برای رمزگذاری کلید تازه‌دریافت‌شده و ذخیرهٔ آن در پوشهٔ اختصاصی gpg-agent استفاده می‌شود. پس از اینکه کلیدی به این روش به gpg-agent افزوده شد، gpg-agent آمادهٔ استفاده از کلید خواهد بود. نکته: در صورتی که gpg-agent یک درخواست امضا دریافت کند، ممکن است نیاز باشد برای عبارت عبور که برای رمزگشایی کلید ذخیره‌شده ضروری است، به کاربر اعلان داده شود. از آنجا که پروتکل ssh-agent سازوکاری برای اطلاع دادن به عامل دربارهٔ اینکه روی کدام نمایشگر/پایانه در حال اجراست ندارد، پشتیبانی ssh در gpg-agent از همان TTY یا نمایشگر X که gpg-agent در آن آغاز شده استفاده خواهد کرد. برای تغییر این نمایشگر به نمایشگر جاری، می‌توان از دستور زیر استفاده کرد: .RS 2 .nf gpg\-connect\-agent updatestartuptty /bye .fi .RE اگرچه تمام مؤلفه‌های GnuPG تلاش می‌کنند در صورت نیاز gpg-agent را آغاز کنند، اما این امر برای پشتیبانی ssh امکان‌پذیر نیست زیرا ssh اطلاعی از آن ندارد. بنابراین اگر هیچ ابزار GnuPG که به عامل دسترسی داشته باشد اجرا نشده باشد، هیچ تضمینی وجود ندارد که ssh بتواند از gpg-agent برای احراز هویت استفاده کند. برای رفع این مشکل می‌توانید در صورت نیاز با استفاده از این دستور ساده gpg-agent را آغاز کنید: .RS 2 .nf gpg\-connect\-agent /bye .fi .RE افزودن \fB\-\-verbose\fP پیشرفت راه‌اندازی عامل را نشان می‌دهد. گزینهٔ \fB\-\-enable\-putty\-support\fP تنها در ویندوز موجود است و امکان استفاده از gpg-agent را با پیاده‌سازی ssh در \fBputty\fP فراهم می‌کند. این عملکرد شبیه به پشتیبانی معمولی ssh-agent است، اما طبق نیاز \fBputty\fP از صف پیام‌های ویندوز (Windows message queue) استفاده می‌کند. ترتیب ارائه کلیدها به ssh عبارت است از: .RS .TP .B \-\-max\-cache\-ttl\-ssh \fIn\fP حداکثر زمان معتبر بودن یک مدخل حافظهٔ موقت مورد استفاده برای کلیدهای SSH را به \fIn\fP ثانیه تنظیم می‌کند. پس از این زمان، مدخل حافظهٔ موقت منقضی خواهد شد حتی اگر اخیراً مورد دسترسی قرار گرفته باشد یا با استفاده از \fBgpg\-preset\-passphrase\fP تنظیم شده باشد. پیش‌فرض ۲ ساعت (۷۲۰۰ ثانیه) است. .TP .B \-\-enforce\-passphrase\-constraints محدودیت‌های عبارت‌عبور را با اجازه ندادن به کاربر برای دور زدن آن‌ها از طریق دکمهٔ ``Take it anyway'' اجباری می‌کند. .TP .B \-\-min\-passphrase\-len \fIn\fP حداقل طول یک عبارت‌عبور را تعیین می‌کند. هنگام وارد کردن عبارت‌عبور جدیدی که کوتاه‌تر از این مقدار باشد، یک هشدار نمایش داده خواهد شد. پیش‌فرض ۸ است. .TP .B \-\-min\-passphrase\-nonalpha \fIn\fP حداقل تعداد ارقام یا نویسه‌های خاص مورد نیاز در یک عبارت‌عبور را تعیین می‌کند. هنگام وارد کردن عبارت‌عبور جدیدی با تعداد ارقام یا نویسه‌های خاص کمتر از این مقدار، یک هشدار نمایش داده خواهد شد. پیش‌فرض ۱ است. .TP .B \-\-check\-passphrase\-pattern \fIfile\fP .TQ .B \-\-check\-sym\-passphrase\-pattern \fIfile\fP عبارت‌عبور را با الگوی ارائه‌شده در \fIfile\fP بررسی می‌کند. هنگام وارد کردن یک عبارت‌عبور جدید که با یکی از این الگوها مطابقت داشته باشد، یک هشدار نمایش داده خواهد شد. اگر \fIfile\fP شامل هیچ اسلشی نباشد و با "~/" شروع نشود، در پوشهٔ پیکربندی سیستم (\(oq\fI/etc/gnupg\fP\(cq) جستجو می‌شود. پیش‌فرض بر این است که از هیچ فایل الگویی استفاده نشود. نسخهٔ دوم این گزینه تنها هنگام ایجاد یک کلید متقارن جدید استفاده می‌شود تا امکان استفاده از الگوهای متفاوت برای چنین عبارت‌های عبوری فراهم شود. نکتهٔ امنیتی: مشخص است که بررسی عبارت‌عبور در برابر فهرستی از الگوها یا حتی در برابر یک واژه‌نامهٔ کامل، برای اجبار به استفاده از عبارت‌های عبور مناسب چندان مؤثر نیست. کاربران به‌زودی راه‌هایی برای دور زدن چنین سیاستی خواهند یافت. یک سیاست بهتر، آموزش رفتارهای امنیتی مناسب به کاربران و به‌صورت اختیاری، اجرای منظم یک ابزار کرک عبارت‌عبور روی عبارت‌های عبور تمامی کاربران برای به دام انداختن موارد بسیار ساده است. .TP .B \-\-max\-passphrase\-days \fIn\fP اگر \fIn\fP روز از آخرین تغییر گذشته باشد، از کاربر می‌خواهد که عبارت‌عبور را تغییر دهد. با تنظیم بودن \fB\-\-enforce\-passphrase\-constraints\fP، کاربر نمی‌تواند این بررسی را دور بزند. .TP .B \-\-enable\-passphrase\-history این گزینه هنوز کاری انجام نمی‌دهد. .TP .B \-\-pinentry\-invisible\-char \fIchar\fP این گزینه از Pinentry می‌خواهد که از \fIchar\fP برای نمایش نویسه‌های مخفی استفاده کند. \fIchar\fP باید یک رشته یک‌نویسه‌ای UTF-8 باشد. یک Pinentry ممکن است این درخواست را بپذیرد یا نادیده بگیرد. .TP .B \-\-pinentry\-timeout \fIn\fP این گزینه از Pinentry می‌خواهد در صورت نبود ورودی از سوی کاربر پس از \fIn\fP ثانیه، مهلت زمانی آن به پایان برسد. مقدار پیش‌فرض 0 از pinentry تقاضای اعمال مهلت زمانی نمی‌کند، با این حال در این حالت یک Pinentry ممکن است از مقدار مهلت زمانی پیش‌فرض خود استفاده کند. یک Pinentry ممکن است این درخواست را بپذیرد یا نادیده بگیرد. .TP .B \-\-pinentry\-formatted\-passphrase این گزینه از Pinentry می‌خواهد هنگامی که عبارت عبور جدیدی از کاربر درخواست می‌شود و ماسک‌کردن (پنهان‌سازی) عبارت عبور خاموش است، قالب‌بندی عبارت عبور را فعال کند. اگر قالب‌بندی عبارت عبور فعال باشد، تمام نویسه‌های فاصله نشکن (non-breaking space) از عبارت عبور واردشده حذف می‌شوند. قالب‌بندی عبارت عبور عمدتاً در ترکیب با عبارت‌های عبور تولیدشده با قابلیت GENPIN در برخی از Pinentryها کاربرد دارد. توجه داشته باشید که چنین عبارت عبور تولیدشده‌ای، در صورت عدم تغییر توسط کاربر، از تمام بررسی‌های محدودیت عبارت عبور صرف‌نظر می‌کند؛ چرا که چنین محدودیت‌هایی در واقع عبارت عبور تولیدشده را تضعیف می‌کنند. .TP .B \-\-pinentry\-program \fIfilename\fP از برنامه \fIfilename\fP به عنوان ورودی PIN استفاده می‌کند. پیش‌فرض به نحوه نصب وابسته است. در پیکربندی پیش‌فرض، نام pinentry پیش‌فرض \(oq\fIpinentry\fP\(cq است؛ اگر این پرونده وجود نداشته باشد اما \(oq\fIpinentry\-basic\fP\(cq موجود باشد، از دومی استفاده می‌شود. در پلتفرم ویندوز، پیش‌فرض استفاده از نخستین برنامه موجود از این فهرست است: \(oq\fIbin\[rs]pinentry.exe\fP\(cq, \(oq\fI..\[rs]Gpg4win\[rs]bin\[rs]pinentry.exe\fP\(cq, \(oq\fI..\[rs]Gpg4win\[rs]pinentry.exe\fP\(cq, \(oq\fI..\[rs]GNU\[rs]GnuPG\[rs]pinentry.exe\fP\(cq, \(oq\fI..\[rs]GNU\[rs]bin\[rs]pinentry.exe\fP\(cq, \(oq\fIbin\[rs]pinentry\-basic.exe\fP\(cq که در آن نام پرونده‌ها نسبت به پوشه نصب GnuPG هستند. .TP .B \-\-pinentry\-touch\-file \fIfilename\fP به‌طور پیش‌فرض، نام پرونده سوکتی که gpg-agent در آن به درخواست‌ها گوش می‌دهد به Pinentry تحویل داده می‌شود تا بتواند قبل از خروج، آن پرونده را touch کند (این کار را فقط در حالت curses انجام می‌دهد). این گزینه، پرونده ارسال‌شده به Pinentry را به \fIfilename\fP تغییر می‌دهد. نام ویژه \fB/dev/null\fP می‌تواند برای غیرفعال کردن کامل این قابلیت استفاده شود. توجه داشته باشید که Pinentry آن پرونده را ایجاد نخواهد کرد، بلکه تنها زمان دسترسی و تغییر آن را تغییر خواهد داد. .TP .B \-\-scdaemon\-program \fIfilename\fP از برنامهٔ \fIfilename\fP به عنوان دیمن Smartcard استفاده کنید. مقدار پیش‌فرض به نحوهٔ نصب وابسته است و می‌توان آن را با دستور \fBgpgconf\fP مشاهده کرد. .TP .B \-\-disable\-scdaemon از ابزار scdaemon استفاده نکنید. این گزینه قابلیت انجام عملیات کارت هوشمند را غیرفعال می‌کند. توجه داشته باشید که فعال‌سازی این گزینه در زمان اجرا، فرآیند scdaemon که از قبل منشعب شده است را متوقف نمی‌کند. .TP .B \-\-disable\-check\-own\-socket برنامهٔ \fBgpg\-agent\fP از یک خودآزمایی دوره‌ای برای تشخیص سوکت سرقت‌شده استفاده می‌کند. این معمولاً به این معنی است که نمونهٔ دوم \fBgpg\-agent\fP کنترل سوکت را به دست گرفته است و در نتیجه \fBgpg\-agent\fP به کار خود پایان خواهد داد. از این گزینه می‌توان برای غیرفعال کردن این خودآزمایی به منظور اهداف اشکال‌زدایی استفاده کرد. .TP .B \-\-use\-standard\-socket .TQ .B \-\-no\-use\-standard\-socket .TQ .B \-\-use\-standard\-socket\-p از نسخهٔ GnuPG 2.1 به بعد، همیشه از سوکت استاندارد استفاده می‌شود. این گزینه‌ها دیگر هیچ اثری ندارند. بنابراین دستور \fBgpg\-agent \-\-use\-standard\-socket\-p\fP همواره وضعیت موفقیت را برمی‌گرداند. .TP .B \-\-display \fIstring\fP .TQ .B \-\-ttyname \fIstring\fP .TQ .B \-\-ttytype \fIstring\fP .TQ .B \-\-lc\-ctype \fIstring\fP .TQ .B \-\-lc\-messages \fIstring\fP .TQ .B \-\-xauthority \fIstring\fP این گزینه‌ها در حالت سرور برای ارسال اطلاعات بومی‌سازی استفاده می‌شوند. .TP .B \-\-keep\-tty .TQ .B \-\-keep\-display به ترتیب درخواست‌های تغییر \fBtty\fP فعلی یا متغیر \fBDISPLAY\fP در سامانهٔ X window system را نادیده می‌گیرد. این گزینه برای قفل کردن pinentry جهت باز شدن در همان \fBtty\fP یا نمایشگری که عامل (agent) را در آن راه‌اندازی کرده‌اید مفید است. .TP .B \-\-listen\-backlog \fIn\fP اندازه صف را برای اتصالات در انتظار تنظیم می‌کند. مقدار پیش‌فرض 64 است. .TP .B \-\-extra\-socket \fIname\fP سوکت اضافی به‌طور پیش‌فرض ایجاد می‌شود، می‌توانید از این گزینه برای تغییر نام سوکت استفاده کنید. برای غیرفعال کردن ایجاد این سوکت، از ``none'' یا ``/dev/null'' برای \fIname\fP استفاده کنید. همچنین روی سوکت ارائه‌شده به اتصالات بومی gpg-agent گوش می‌دهد. کاربرد مورد نظر برای این سوکت اضافی، راه‌اندازی بازارسال Unix domain socket از یک ماشین راه دور به این سوکت در ماشین محلی است. سپس یک \fBgpg\fP در حال اجرا روی ماشین راه دور می‌تواند به gpg-agent محلی متصل شده و از کلیدهای خصوصی آن استفاده کند. این کار رمزگشایی یا امضای داده‌ها را در یک ماشین راه دور بدون افشای کلیدهای خصوصی برای ماشین راه دور امکان‌پذیر می‌سازد. .TP .B \-\-enable\-extended\-key\-format .TQ .B \-\-disable\-extended\-key\-format این گزینه‌ها منسوخ شده‌اند و هیچ اثری ندارند. قالب کلید گسترش‌یافته اکنون سال‌هاست که استفاده می‌شود و از نسخه 2.1.12 پشتیبانی شده است. کلیدهای موجود در قالب قدیمی به محض دسترسی به آن‌ها، به قالب جدید منتقل می‌شوند. .TP .B \-\-enable\-ssh\-support .TQ .B \-\-enable\-win32\-openssh\-support .TQ .B \-\-enable\-putty\-support در پلتفرم‌های یونیکس پروتکل OpenSSH Agent همیشه فعال است، اما \fBgpg\-agent\fP تنها در صورتی متغیر \fBSSH_AUTH_SOCK\fP را تنظیم می‌کند که گزینه \fBenable\-ssh\-support\fP مشخص شده باشد. برخی توزیع‌های لینوکس از وجود این گزینه برای تصمیم‌گیری درباره اینکه آیا ssh-agent قدیمی باید اجرا شود یا خیر استفاده می‌کنند. در ویندوز پشتیبانی از پیاده‌سازی بومی ssh باید با استفاده از گزینه \fBenable\-win32\-openssh\-support\fP فعال شود. برای استفاده از gpg-agent به عنوان جایگزینی برای Pageant متعلق به PuTTY، گزینه \fBenable\-putty\-support\fP باید فعال باشد. در این حالت کاری، عامل (agent) نه تنها پروتکل gpg-agent، بلکه پروتکل عامل مورد استفاده توسط OpenSSH (از طریق یک سوکت مجزا یا از طریق Named Pipes) یا پروتکل مورد استفاده توسط PuTTY را نیز پیاده‌سازی می‌کند. در نتیجه، این امکان را فراهم می‌سازد تا از gpg-agent به عنوان یک جایگزین مستقیم برای ssh-agent استفاده شود. کلیدهای SSH که قرار است از طریق عامل استفاده شوند، ابتدا باید از طریق ابزار کاربردی ssh-add به gpg-agent افزوده شوند. هنگامی که یک کلید اضافه می‌شود، ssh-add گذرواژه پرونده کلید ارائه‌شده را درخواست کرده و داده‌های کلید محافظت‌نشده را به عامل ارسال می‌کند؛ این امر باعث می‌شود gpg-agent یک عبارت عبور درخواست کند که برای رمزگذاری کلید تازه دریافت‌شده و ذخیره آن در یک پوشه ویژه gpg-agent استفاده می‌شود. هنگامی که یک کلید از این طریق به gpg-agent اضافه شد، gpg-agent آماده استفاده از آن کلید خواهد بود. نکته: در صورتی که gpg-agent یک درخواست امضا دریافت کند، ممکن است نیاز باشد از کاربر برای یک عبارت عبور درخواست شود، که برای رمزگشایی کلید ذخیره‌شده لازم است. از آنجا که پروتکل ssh-agent سازوکاری برای اطلاع دادن به عامل درباره اینکه روی کدام نمایشگر/پایانه در حال اجرا است ندارد، پشتیبانی ssh در gpg-agent از TTY یا نمایشگر X که gpg-agent در آن راه‌اندازی شده است استفاده خواهد کرد. برای تغییر این نمایشگر به نمایشگر فعلی، می‌توان از دستور زیر استفاده کرد: .RS 2 .nf gpg\-connect\-agent updatestartuptty /bye .fi .RE اگرچه همه مؤلفه‌های GnuPG تلاش می‌کنند تا در صورت نیاز gpg-agent را راه‌اندازی کنند، این کار برای پشتیبانی ssh ممکن نیست زیرا ssh از آن اطلاعی ندارد. بنابراین اگر هیچ ابزار GnuPG که به عامل دسترسی پیدا کند اجرا نشده باشد، هیچ تضمینی وجود ندارد که ssh قادر به استفاده از gpg-agent برای احراز هویت باشد. برای رفع این مشکل می‌توانید در صورت نیاز gpg-agent را با این دستور ساده راه‌اندازی کنید: .RS 2 .nf gpg\-connect\-agent /bye .fi .RE افزودن \fB\-\-verbose\fP پیشرفت راه‌اندازی agent را نشان می‌دهد. گزینهٔ \fB\-\-enable\-putty\-support\fP تنها در ویندوز در دسترس است و امکان استفاده از gpg-agent را با پیاده‌سازی ssh به نام \fBputty\fP فراهم می‌کند. این قابلیت مشابه پشتیبانی معمول ssh-agent است اما همان‌طور که توسط \fBputty\fP الزامی است، از صف پیام ویندوز استفاده می‌کند. ترتیب ارائهٔ کلیدها به ssh به این صورت است: .RS .TP .B مقادیر منفی Use\-for\-ssh اگر یک فایل کلید دارای ویژگی "Use-for-ssh" باشد و مقدار آن منفی باشد، این کلیدها ابتدا به ssh ارائه می‌شوند. مقادیر منفی به \-999 محدود می‌شوند که در آن رتبهٔ \-999 پایین‌تر از \-1 است. از این مقادیر می‌توان برای اولویت دادن به کلیدهای روی دیسک نسبت به کلیدهای کارت‌های فعال استفاده کرد. .TP .B کارت‌های فعال کارت‌های فعال (واردشده در کارت‌خوان یا توکن‌های متصل‌شده) همیشه بررسی می‌شوند؛ آن‌ها بر اساس شماره سریال خود مرتب می‌شوند. .TP .B کلیدهای فهرست‌شده در فایل sshcontrol کلیدهای غیرفعال‌نشده از فایل sshcontrol به ترتیبی که در این فایل آمده‌اند ارائه می‌شوند. توجه داشته باشید که فایل sshcontrol منسوخ شده است. .TP .B مقادیر مثبت Use\-for\-ssh اگر یک فایل کلید دارای ویژگی "Use-for-ssh" باشد و مقدار آن "yes"، "true" یا هر عدد مثبتی باشد، کلیدها به ترتیب مقادیرشان ارائه می‌شوند. "yes" و "true" دارای مقدار 1 هستند؛ سایر مقادیر به 99999 محدود می‌شوند. .RE ویرایش مقادیر "Use-for-ssh" را می‌توان با یک ویرایشگر یا با استفاده از \fBgpg\-connect\-agent\fP و "KEYATTR" انجام داد (به یاد داشته باشید که یک دونقطه به کلید اضافه کنید؛ یعنی از "Use-for-ssh:" استفاده نمایید). .TP .B \-\-ssh\-fingerprint\-digest الگوریتم خلاصه‌سازی (digest algorithm) مورد استفاده برای محاسبهٔ اثرانگشت‌های ssh را که به کاربر اعلام می‌شوند (برای نمونه در کادرهای گفتگوی pinentry)، انتخاب می‌کند. OpenSSH از استفاده از MD5 به الگوریتم امن‌تر SHA256 گذار کرده است. .TP .B \-\-auto\-expand\-secmem \fIn\fP به Libgcrypt اجازه می‌دهد در صورت نیاز، ناحیهٔ حافظهٔ امن خود را گسترش دهد. مقدار اختیاری \fIn\fP یک عدد صحیح غیرمنفی است که اندازهٔ پیشنهادی بر حسب بایت برای هر ناحیهٔ حافظهٔ امن تخصیص‌یافتهٔ اضافی را مشخص می‌کند. این مقدار به مضرب بعدی 32 KiB به بالا گرد می‌شود؛ پیشوندهای معمول به سبک C مجاز هستند. برای یک gpg-agent با بار کاری سنگین و اتصالات هم‌زمان فراوان، این گزینه از خطاهای امضا یا رمزگشایی ناشی از خطای اتمام حافظهٔ امن جلوگیری می‌کند. .TP .B \-\-s2k\-calibration \fImilliseconds\fP زمان پیش‌فرض کالیبراسیون را به \fImilliseconds\fP تغییر می‌دهد. مقدار داده‌شده به حداکثر ۶۰ ثانیه محدود می‌شود؛ مقدار 0 آن را به پیش‌فرض زمان کامپایل بازنشانی می‌کند. این گزینه با یک SIGHUP (یا \fBgpgconf \-\-reload gpg\-agent\fP) مجدداً خوانده شده و شمارش S2K دوباره کالیبره می‌شود. .TP .B \-\-s2k\-count \fIn\fP تعداد تکرار مورد استفاده برای محافظت از عبارت عبور را تعیین می‌کند. این گزینه می‌تواند برای نادیده‌گرفتن کالیبراسیون خودکار که به‌طور پیش‌فرض انجام می‌شود به کار رود. کالیبراسیون خودکار شمارشی را محاسبه می‌کند که به‌طور پیش‌فرض به 100ms زمان برای درهم‌ریختن یک عبارت عبور معین نیاز دارد. همچنین \fB\-\-s2k\-calibration\fP را ببینید. برای مشاهدهٔ تعداد تکرار عملاً استفاده‌شده و میلی‌ثانیه‌های مورد نیاز برای یک عملیات S2K از این دستورها استفاده کنید: .RS 2 .nf gpg\-connect\-agent 'GETINFO s2k_count' /bye gpg\-connect\-agent 'GETINFO s2k_time' /bye .fi .RE برای مشاهدهٔ شمارش کالیبره‌شده به‌صورت خودکار از این دستور استفاده کنید: .RS 2 .nf gpg\-connect\-agent 'GETINFO s2k_count_cal' /bye .fi .RE .P .SH "مثال‌ها (EXAMPLES)" تنظیم متغیر محیطی \fBGPG_TTY\fP در پوستهٔ ورود (login shell) شما، برای مثال در اسکریپت آغازین \(oq\fI~/.bashrc\fP\(cq اهمیت دارد: .RS 2 .nf export GPG_TTY=$(tty) .fi .RE اگر پشتیبانی از عامل SSH (Ssh Agent Support) را فعال کرده‌اید، همچنین باید با افزودن این مورد به اسکریپت آغازین خود، ssh را از آن مطلع سازید: .RS 2 .nf unset SSH_AGENT_PID if [ "${gnupg_SSH_AUTH_SOCK_by:\-0}" \-ne $$ ]; then export SSH_AUTH_SOCK="$(gpgconf \-\-list\-dirs agent\-ssh\-socket)" fi .fi .RE .SH "فایل‌ها (FILES)" برای کارکرد این عامل، به چند فایل پیکربندی نیاز است. به‌طور پیش‌فرض همگی آن‌ها در دایرکتوری خانگی فعلی قرار دارند (ببینید: [گزینه --homedir]). .TP .B gpg\-agent.conf این فایل پیکربندی استانداردی است که در هنگام راه‌اندازی توسط \fBgpg\-agent\fP خوانده می‌شود. این فایل می‌تواند شامل هر گزینهٔ بلند معتبری باشد؛ نباید دو خط تیرهٔ ابتدایی وارد شوند و گزینه نباید مخفف گردد. این فایل پس از دریافت یک \fBSIGHUP\fP نیز مجدداً خوانده می‌شود، با این حال تنها چند گزینه واقعاً اثرگذار خواهند بود. این نام پیش‌فرض را می‌توان در خط فرمان تغییر داد (ببینید: [گزینه --options]). باید از این فایل پشتیبان تهیه کنید. .TP .B trustlist.txt این فهرست کلیدهای مورد اعتماد است. باید از این فایل پشتیبان تهیه کنید. خطوط توضیح، که با یک علامت هش (#) در ابتدای خط مشخص می‌شوند، و همچنین خطوط خالی نادیده گرفته می‌شوند. برای علامت‌گذاری یک کلید به عنوان مورد اعتماد، باید اثرانگشت آن را وارد کرده و پس از یک فاصله، حرف بزرگ \fBS\fP را قرار دهید. به‌طور اختیاری می‌توان از دونقطه برای جداسازی بایت‌های اثرانگشت استفاده کرد؛ این قابلیت امکان کپی و جای‌گذاری اثرانگشت را از خروجی فهرست کلیدها فراهم می‌کند. اگر در ابتدای خط یک علامت \fB!\fP قرار گیرد، کلید صریحاً به عنوان نامعتمد علامت‌گذاری می‌شود. در اینجا مثالی آورده شده است که در آن دو کلید به عنوان کاملاً مورد اعتماد و یکی به عنوان غیرقابل اعتماد علامت‌گذاری شده‌اند: .RS 2 .nf # CN=Wurzel ZS 3,O=Intevation GmbH,C=DE A6935DD34EF3087973C706FC311AA2CCF733765B S # CN=PCA\-1\-Verwaltung\-02/O=PKI\-1\-Verwaltung/C=DE DC:BD:69:25:48:BD:BB:7E:31:6E:BB:80:D3:00:80:35:D4:F8:A6:CD S # CN=Root\-CA/O=Schlapphuete/L=Pullach/C=DE !14:56:98:D3:FE:9C:CA:5A:31:6E:BC:81:D3:11:4E:00:90:A3:44:C2 S .fi .RE پیش از وارد کردن یک کلید به این فایل، باید از اصالت آن اطمینان حاصل کنید. نحوهٔ انجام این کار به سازمان شما بستگی دارد؛ ممکن است مدیر سیستم شما از قبل کلیدهایی را که به اندازهٔ کافی مورد اعتماد تشخیص داده شده‌اند، در این فایل وارد کرده باشد. مکان‌هایی که برای یافتن اثرانگشت یک گواهی ریشه (root certificate) باید بررسی شوند، نامه‌های دریافتی از CA یا وب‌سایت CA است (پس از اینکه ۱۰۰٪ اطمینان حاصل کردید که این واقعاً وب‌سایت همان CA است). ممکن است بخواهید با استفاده از [گزینه --no-allow-mark-trusted]، به‌روزرسانی‌های تعاملی این فایل را غیرفعال کنید. حتی ممکن است توصیه شود دسترسی‌های آن را به فقط‌خواندنی تغییر دهید تا این فایل به طور ناخواسته تغییر داده نشود. به عنوان یک قابلیت ویژه، خط \fBinclude\-default\fP یک فهرست سراسری از گواهی‌های مورد اعتماد را شامل می‌شود (برای مثال \(oq\fI/etc/gnupg/trustlist.txt\fP\(cq). این فهرست سراسری همچنین در صورتی که فهرست محلی در دسترس نباشد استفاده خواهد شد؛ [گزینه --no-user-trustlist] استفادهٔ انحصاری از این فهرست سراسری را اجباری می‌کند. امکان افزودن فلگ‌های بیشتری پس از \fBS\fP برای استفاده توسط فراخواننده وجود دارد: .RS .TP .B relax تسهیل بررسی برخی از الزامات گواهی ریشه. در حال حاضر، این فلگ اجازهٔ استفاده از گواهی‌های ریشه با مشخصهٔ مفقود basicConstraints را می‌دهد (علیرغم اینکه وجود آن برای گواهی‌های CA یک الزام (MUST) است) و بررسی CRL را برای گواهی ریشه غیرفعال می‌کند. .TP .B cm اگر اعتبارسنجی گواهی‌ای که نهایتاً توسط یک CA با این فلگ صادر شده با شکست مواجه شود، دوباره با استفاده از مدل اعتبارسنجی زنجیره‌ای تلاش می‌شود. .TP .B qual این CA مجاز است برای امضاهای واجد شرایط گواهی صادر کند. این فلگ تنها در صورتی اثرگذار است که در فهرست سراسری استفاده شود. این شیوه اکنون روش ارجح برای مشخص کردن چنین CAهایی است؛ روش قدیمی داشتن یک فایل جداگانه به نام \(oq\fIqualified.txt\fP\(cq همچنان پشتیبانی می‌شود. .TP .B de\-vs این CA بخشی از یک PKI تأییدشده برای سطح طبقه‌بندی آلمانی VS-NfD است. این پرچم تنها در فهرست اعتماد سراسری معتبر است. در حال حاضر، از این فلگ فقط برای مقاصد مستندسازی استفاده می‌شود. .RE .TP .B sshcontrol این فایل زمانی استفاده می‌شود که پشتیبانی از پروتکل عامل پوستهٔ امن (secure shell agent) فعال شده باشد (ببینید: [گزینه --enable-ssh-support]). تنها کلیدهای موجود در این فایل در پروتکل SSH استفاده می‌شوند. باید از این فایل پشتیبان تهیه کنید. این فایل به نفع ویژگی "Use-for-ssh" در فایل‌های کلید منسوخ شده است. ابزار \fBssh\-add\fP می‌تواند برای افزودن مدخل‌های جدید به این فایل استفاده شود؛ همچنین می‌توانید آن‌ها را به صورت دستی اضافه کنید. خطوط توضیح، که با یک علامت هش در ابتدای خط مشخص می‌شوند، و همچنین خطوط خالی نادیده گرفته می‌شوند. هر مدخل با فاصله‌های خالی اختیاری آغاز می‌شود، به دنبال آن keygrip کلید که به صورت ۴۰ رقم هگزادسیمال مشخص شده است می‌آید، و به طور اختیاری مقدار TTL کش‌کردن به ثانیه و فیلد اختیاری دیگری برای فلگ‌های دلخواه قرار می‌گیرد. یک مقدار غیرصفر برای TTL، پیش‌فرض سراسری تنظیم‌شده توسط \fB\-\-default\-cache\-ttl\-ssh\fP را بازنویسی می‌کند. تنها فلگ پشتیبانی‌شده \fBconfirm\fP است. اگر این فلگ برای یک کلید پیدا شود، در هر بار استفاده از آن کلید یک پنجرهٔ pinentry برای تأیید استفاده از آن ظاهر می‌شود. این فلگ در صورتی که کلید جدیدی با استفاده از گزینهٔ \fB\-c\fP از دستور \fBssh\-add\fP در \fBgpg\-agent\fP بارگذاری شده باشد، به‌طور خودکار تنظیم می‌شود. می‌توان پیش از keygrip یک علامت \fB!\fP قرار داد تا یک مدخل غیرفعال شود. مثال زیر دقیقاً یک کلید را فهرست می‌کند. توجه داشته باشید کلیدهایی که از طریق یک کارت هوشمند OpenPGP در کارت‌خوان فعال در دسترس هستند، به‌طور ضمنی به این فهرست اضافه می‌شوند؛ یعنی نیازی به فهرست کردن آن‌ها نیست. .RS 2 .nf # Key added on: 2011\-07\-20 20:38:46 # Fingerprint: 5e:8d:c4:ad:e7:af:6e:27:8a:d6:13:e4:79:ad:0b:81 34B62F25E277CF13D3C6BCEBFD3F85D08F0A864B 0 confirm .fi .RE .TP .B private\-keys\-v1.d/ این دایرکتوری محلی است که gpg-agent کلیدهای خصوصی را در آن ذخیره می‌کند. هر کلید در پرونده‌ای با نامی متشکل از keygrip و پسوند \(oq\fIkey\fP\(cq ذخیره می‌شود. شما باید از تمام پرونده‌های موجود در این دایرکتوری نسخهٔ پشتیبان تهیه کنید و بسیار دقت داشته باشید که این نسخهٔ پشتیبان در جایی محفوظ و دور از دسترس نگهداری شود. .P توجه داشته باشید که در نصب‌های بزرگ‌تر، قرار دادن پرونده‌های از پیش تعریف‌شده در دایرکتوری \(oq\fI/etc/skel/.gnupg\fP\(cq مفید است تا کاربران تازه ایجادشده با یک پیکربندی آماده‌به‌کار شروع کنند. برای کاربران فعلی، یک اسکریپت کمکی کوچک برای ایجاد این پرونده‌ها ارائه شده است (ببینید: [addgnupghome]). .SH "سیگنال‌ها (SIGNALS)" یک \fBgpg\-agent\fP در حال اجرا را می‌توان با استفاده از سیگنال‌ها کنترل کرد، یعنی با استفاده از دستور \fBkill\fP جهت ارسال یک سیگنال به فرایند. در اینجا فهرستی از سیگنال‌های پشتیبانی‌شده آمده است: .TP .B SIGHUP این سیگنال تمام عبارت‌های عبور کش‌شده را پاک می‌کند و اگر برنامه با یک پروندهٔ پیکربندی راه‌اندازی شده باشد، پروندهٔ پیکربندی مجدداً خوانده می‌شود. تنها گزینه‌های خاصی اعمال می‌شوند: \fBquiet\fP، \fBverbose\fP، \fBdebug\fP، \fBdebug\-all\fP، \fBdebug\-level\fP، \fBdebug\-pinentry\fP، \fBno\-grab\fP، \fBpinentry\-program\fP، \fBpinentry\-invisible\-char\fP، \fBdefault\-cache\-ttl\fP، \fBmax\-cache\-ttl\fP، \fBignore\-cache\-for\-signing\fP، \fBs2k\-count\fP، \fBno\-allow\-external\-cache\fP، \fBallow\-emacs\-pinentry\fP، \fBno\-allow\-mark\-trusted\fP، \fBdisable\-scdaemon\fP، و \fBdisable\-check\-own\-socket\fP. گزینهٔ \fBscdaemon\-program\fP نیز پشتیبانی می‌شود، اما با توجه به پیاده‌سازی فعلی که scdaemon را فقط یک بار فراخوانی می‌کند، فایدهٔ چندانی ندارد مگر اینکه scdaemon را به صورت دستی خاتمه دهید. .TP .B SIGTERM فرایند را متوقف می‌کند، اما تا زمانی که تمام درخواست‌های جاری برآورده شوند منتظر می‌ماند. اگر فرایند ۳ بار از این سیگنال‌ها دریافت کند و همچنان درخواست‌هایی در انتظار باشند، توقف اجباری اعمال می‌شود. .TP .B SIGINT فرایند را بلافاصله متوقف می‌کند. .TP .B SIGUSR1 اطلاعات داخلی را در پرونده گزارش تخلیه می‌کند. .TP .B SIGUSR2 این سیگنال برای اهداف داخلی استفاده می‌شود. .P .SH "همچنین ببینید (SEE ALSO)" \fBgpg\fP(1), \fBgpgsm\fP(1), \fBgpgconf\fP(1), \fBgpg\-connect\-agent\fP(1), \fBscdaemon\fP(1) مستندات کامل این ابزار در قالب یک راهنمای Texinfo نگهداری می‌شود. اگر GnuPG و برنامه info به‌درستی در سیستم شما نصب شده باشند، دستور .RS 2 .nf info gnupg .fi .RE باید دسترسی به راهنمای کامل، شامل ساختار منو و نمایه را برای شما فراهم کند.