.\" -*- coding: UTF-8 -*- .\" .\" Author: Tatu Ylonen .\" Copyright (c) 1995 Tatu Ylonen , Espoo, Finland .\" All rights reserved .\" .\" As far as I am concerned, the code I have written for this software .\" can be used freely for any purpose. Any derived versions of this .\" software must be clearly marked as such, and if the derived work is .\" incompatible with the protocol description in the RFC file, it must be .\" called by a name other than "ssh" or "Secure Shell". .\" .\" Copyright (c) 1999,2000 Markus Friedl. All rights reserved. .\" Copyright (c) 1999 Aaron Campbell. All rights reserved. .\" Copyright (c) 1999 Theo de Raadt. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR .\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES .\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. .\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, .\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT .\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, .\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY .\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" .\" $OpenBSD: ssh.1,v 1.447 2025/12/22 01:17:31 djm Exp $ .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .Dd $Mdocdate: 22 ديسمبر 2025 $ .Dt SSH 1 .Os .Sh الاسم .Nm ssh .Nd عميل OpenSSH للولوج عن بعد .Sh موجز .Nm ssh .Op Fl 46AaCfGgKkMNnqsTtVvXxYy .Op Fl B Ar bind_interface .Op Fl b Ar bind_address .Op Fl c Ar cipher_spec .Op Fl D Oo Ar bind_address : Oc Ns Ar port .Op Fl E Ar log_file .Op Fl e Ar escape_char .Op Fl F Ar configfile .Op Fl I Ar pkcs11 .Op Fl i Ar identity_file .Op Fl J Ar destination .Op Fl L Ar address .Op Fl l Ar login_name .Op Fl m Ar mac_spec .Op Fl O Ar ctl_cmd .Op Fl o Ar option .Op Fl P Ar tag .Op Fl p Ar port .Op Fl R Ar address .Op Fl S Ar ctl_path .Op Fl W Ar host : Ns Ar port .Op Fl w Ar local_tun Ns Op : Ns Ar remote_tun .Ar destination .Op Ar command Op Ar argument ... .Nm ssh .Op Fl Q Ar query_option .Sh الوصف .Nm ssh (عميل SSH) هو برنامج للولوج إلى حاسوب عن بعد وتنفيذ الأوامر عليه. يهدف البرنامج إلى توفير اتصالات مؤمنة ومعماة بين مضيفين غير موثوقين عبر شبكة غير آمنة. كما يمكن تمرير اتصالات X11، ومنافذ TCP التعسفية، ومقابس .Ux Ns -domain عبر القناة الآمنة. .Pp يتصل .Nm ssh ويولج إلى .Ar destination المحدد، والذي قد يُحدد إما على هيئة .Sm off .Oo user @ Oc hostname .Sm on أو معرف مورد موحد (URI) بالصيغة .Sm off .No ssh:// Oo user @ Oc hostname Op : port . .Sm on يجب على المستخدم إثبات هويته للحاسوب البعيد باستخدام إحدى الطرق العديدة (انظر أدناه). .Pp إذا حُدد .Ar command ، فسيُنفذ على المضيف البعيد بدلاً من صدفة الولوج. يمكن تحديد سطر أوامر كامل كـ .Ar command ، أو قد يتضمن وسائط إضافية. في حال توفرها، ستُلحق الوسائط بالأمر، مفصولة بمسافات، قبل إرسالها إلى الخادم لتنفيذها. .Pp الخيارات هي كما يلي: .Pp .Bl -tag -width Ds -compact .It Fl 4 يجبر .Nm ssh على استخدام عناوين IPv4 فقط. .Pp .It Fl 6 يجبر .Nm ssh على استخدام عناوين IPv6 فقط. .Pp .It Fl A يفعّل تمرير الاتصالات من وكيل استيثاق مثل .Xr ssh-agent 1 . يمكن تحديد هذا أيضاً لكل مضيف على حدة في ملف الضبط. .Pp يجب تفعيل تمرير الوكيل بحذر. يمكن للمستخدمين الذين لديهم القدرة على تجاوز أذونات الملفات على المضيف البعيد (لمقبس .Ux Ns -domain الخاص بالوكيل) الوصول إلى الوكيل المحلي عبر الاتصال الممرر. لا يمكن للمهاجم الحصول على مادة المفاتيح من الوكيل، ولكن يمكنه إجراء عمليات على المفاتيح تمكنه من الاستيثاق باستخدام الهويات المحملة في الوكيل. قد يكون استخدام مضيف قفز (انظر .Fl J ) بديلاً أكثر أماناً. .Pp .It Fl a يعطل تمرير اتصال وكيل الاستيثاق. .Pp .It Fl B Ar bind_interface الربط بعنوان .Ar bind_interface قبل محاولة الاتصال بالمضيف الوجهة. هذا مفيد فقط في الأنظمة التي تملك أكثر من عنوان واحد. .Pp .It Fl b Ar bind_address استخدام .Ar bind_address على الحاسوب المحلي كعنوان مصدر للاتصال. مفيد فقط في الأنظمة التي تملك أكثر من عنوان واحد. .Pp .It Fl C يطلب ضغط جميع البيانات (بما في ذلك المدخلات القياسية، والمخرجات القياسية، والأخطاء القياسية، وبيانات اتصالات X11 وTCP و .Ux Ns -domain الممررة). خوارزمية الضغط هي نفسها المستخدمة في .Xr gzip 1 . الضغط مستحب في خطوط المودم والاتصالات البطيئة الأخرى، ولكنه سيؤدي فقط إلى إبطاء الأمور في الشبكات السريعة. يمكن ضبط القيمة المبدئية لكل مضيف على حدة في ملفات الضبط؛ انظر خيار .Cm Compression في .Xr ssh_config 5 . .Pp .It Fl c Ar cipher_spec يختار مواصفات التعمية لتعمية الجلسة. .Ar cipher_spec هي قائمة بالمعميات مفصولة بفاصلة ومرتبة حسب الأفضلية. انظر الكلمة المفتاحية .Cm Ciphers في .Xr ssh_config 5 لمزيد من المعلومات. .Pp .It Fl D Xo .Sm off .Oo Ar bind_address : Oc .Ar port .Sm on .Xc يحدد تمرير منفذ محلي «ديناميكي» على مستوى التطبيق. يعمل هذا عن طريق تخصيص مقبس للاستماع إلى .Ar port على الجانب المحلي، وربطه اختيارياً بـ .Ar bind_address المحدد. كلما أُجري اتصال بهذا المنفذ، يُمرر الاتصال عبر القناة الآمنة، ثم يُستخدم بروتوكول التطبيق لتحديد مكان الاتصال من الحاسوب البعيد. حالياً يُدعم بروتوكولا SOCKS4 و SOCKS5، وسيعمل .Nm ssh كخادم SOCKS. يمكن للمستخدم الجذري (root) فقط تمرير المنافذ ذات الامتيازات. يمكن أيضاً تحديد عمليات تمرير المنافذ الديناميكية في ملف الضبط. .Pp يمكن تحديد عناوين IPv6 عن طريق حصر العنوان بين قوسين مربعين. يمكن للمستخدم الخارق فقط تمرير المنافذ ذات الامتيازات. مبدئياً، يُربط المنفذ المحلي وفقاً لإعداد .Cm GatewayPorts . ومع ذلك، يمكن استخدام .Ar bind_address صريح لربط الاتصال بعنوان محدد. يشير .Ar bind_address بـ «localhost» إلى أن منفذ الاستماع مربوط للاستخدام المحلي فقط، بينما يشير العنوان الفارغ أو «*» إلى أن المنفذ يجب أن يكون متاحاً من جميع الواجهات. .Pp .It Fl E Ar log_file إلحاق سجلات التنقيح بـ .Ar log_file بدلاً من الخطأ القياسي. .Pp .It Fl e Ar escape_char يضبط محرف الهروب للجلسات التي تستخدم pty (المبدئي: .Ql ~ ) . يُتعرف على محرف الهروب فقط في بداية السطر. محرف الهروب متبوعاً بنقطة .Pq Ql \&. يغلق الاتصال؛ متبوعاً بـ control-Z يعلق الاتصال؛ ومتبوعاً بنفسه يرسل محرف الهروب مرة واحدة. ضبط المحرف إلى «none» يعطل أي هروب ويجعل الجلسة شفافة تماماً. .Pp .It Fl F Ar configfile يحدد ملف ضبط بديل لكل مستخدم. إذا أُعطي ملف ضبط في سطر الأوامر، فسيُتجاهل ملف الضبط الخاص بالنظام .Pq Pa /etc/ssh/ssh_config . القيمة المبدئية لملف الضبط لكل مستخدم هي .Pa ~/.ssh/config . إذا ضُبط على «none»، فلن تُقرأ أي ملفات ضبط. .Pp .It Fl f يطلب من .Nm ssh الانتقال إلى الخلفية قبل تنفيذ الأمر مباشرة. هذا مفيد إذا كان .Nm ssh سيطلب كلمات سر أو عبارات مرور، ولكن المستخدم يريده في الخلفية. يتضمن هذا الخيار .Fl n . الطريقة الموصى بها لبدء برامج X11 في موقع بعيد هي باستخدام شيء مثل .Ic ssh -f host xterm . .Pp إذا ضُبط خيار الضبط .Cm ExitOnForwardFailure على «yes»، فإن العميل الذي بدأ بـ .Fl f سينتظر حتى تُنشأ جميع عمليات تمرير المنافذ البعيدة بنجاح قبل وضع نفسه في الخلفية. راجع وصف .Cm ForkAfterAuthentication في .Xr ssh_config 5 للتفاصيل. .Pp .It Fl G يجعل .Nm ssh يطبع ضبطه بعد تقييم كتل .Cm Host و .Cm Match ثم يخرج. .Pp .It Fl g يسمح للمضيفين البعيدين بالاتصال بالمنافذ المحلية الممررة. إذا استُخدم في اتصال مُجمّع (multiplexed)، فيجب تحديد هذا الخيار في العملية الرئيسة. .Pp .It Fl I Ar pkcs11 تحديد مكتبة PKCS#11 المشتركة التي يجب أن يستخدمها .Nm ssh للتواصل مع رمز PKCS#11 الذي يوفر مفاتيح لاستيثاق المستخدم. .Pp .It Fl i Ar identity_file يختار ملفاً تُقرأ منه الهوية (المفتاح الخاص) لاستيثاق المفتاح العام. يمكنك أيضاً تحديد ملف مفتاح عام لاستخدام المفتاح الخاص المقابل المحمل في .Xr ssh-agent 1 عندما لا يكون ملف المفتاح الخاص موجوداً محلياً. المبدئي هو .Pa ~/.ssh/id_rsa ، و .Pa ~/.ssh/id_ecdsa ، و .Pa ~/.ssh/id_ecdsa_sk ، و .Pa ~/.ssh/id_ed25519 و .Pa ~/.ssh/id_ed25519_sk . يمكن أيضاً تحديد ملفات الهوية لكل مضيف في ملف الضبط. من الممكن وجود خيارات .Fl i متعددة (وهويات متعددة محددة في ملفات الضبط). إذا لم تُحدد أي شهادات صراحة بواسطة توجيه .Cm CertificateFile ، فسيحاول .Nm ssh أيضاً تحميل معلومات الشهادة من اسم الملف الذي يُحصل عليه بإلحاق .Pa -cert.pub بأسماء ملفات الهوية. .Pp .It Fl J Ar destination الاتصال بالمضيف المستهدف عن طريق إجراء اتصال .Nm ssh أولاً بمضيف القفز الموصوف بـ .Ar destination ثم إنشاء تمرير TCP إلى الوجهة النهائية من هناك. يمكن تحديد قفزات متعددة مفصولة بفاصلات. يمكن تحديد عناوين IPv6 عن طريق حصر العنوان بين قوسين مربعين. هذا اختصار لتحديد توجيه الضبط .Cm ProxyJump . لاحظ أن توجيهات الضبط المتوفرة في سطر الأوامر تنطبق بشكل عام على المضيف الوجهة وليس على أي مضيفات قفز محددة. استخدم .Pa ~/.ssh/config لتحديد ضبط مضيفات القفز. .Pp .It Fl K يفعّل الاستيثاق المعتمد على GSSAPI وتمرير (تفويض) بيانات اعتماد GSSAPI إلى الخادم. .Pp .It Fl k يعطل تمرير (تفويض) بيانات اعتماد GSSAPI إلى الخادم. .Pp .It Fl L Xo .Sm off .Oo Ar bind_address : Oc .Ar port : host : hostport .Sm on .Xc .It Fl L Xo .Sm off .Oo Ar bind_address : Oc .Ar port : remote_socket .Sm on .Xc .It Fl L Xo .Sm off .Ar local_socket : host : hostport .Sm on .Xc .It Fl L Xo .Sm off .Ar local_socket : remote_socket .Sm on .Xc يحدد أن الاتصالات بمنفذ TCP المعطى أو مقبس Unix على المضيف المحلي (العميل) يجب تمريرها إلى المضيف والمنفذ المعطيين، أو مقبس Unix، في الجانب البعيد. يعمل هذا عن طريق تخصيص مقبس للاستماع إما لمنفذ TCP .Ar port في الجانب المحلي، مربوط اختيارياً بـ .Ar bind_address المحدد، أو لمقبس Unix. كلما أُجري اتصال بالمنفذ أو المقبس المحلي، يُمرر الاتصال عبر القناة الآمنة، ويُجرى اتصال إما بـ .Ar host المنفذ .Ar hostport ، أو مقبس Unix .Ar remote_socket ، من الحاسوب البعيد. .Pp يمكن أيضاً تحديد عمليات تمرير المنافذ في ملف الضبط. يمكن للمستخدم الخارق فقط تمرير المنافذ ذات الامتيازات. يمكن تحديد عناوين IPv6 عن طريق حصر العنوان بين قوسين مربعين. .Pp مبدئياً، يُربط المنفذ المحلي وفقاً لإعداد .Cm GatewayPorts . ومع ذلك، يمكن استخدام .Ar bind_address صريح لربط الاتصال بعنوان محدد. يشير .Ar bind_address بـ «localhost» إلى أن منفذ الاستماع مربوط للاستخدام المحلي فقط، بينما يشير العنوان الفارغ أو «*» إلى أن المنفذ يجب أن يكون متاحاً من جميع الواجهات. .Pp .It Fl l Ar login_name يحدد المستخدم للولوج به إلى الحاسوب البعيد. يمكن أيضاً تحديد هذا لكل مضيف على حدة في ملف الضبط. .Pp .It Fl M يضع عميل .Nm ssh في وضع «الرئيس» (master) لمشاركة الاتصال. تكرار خيارات .Fl M يضع .Nm ssh في وضع «الرئيس» ولكن مع طلب تأكيد باستخدام .Xr ssh-askpass 1 قبل كل عملية تغير حالة التجميع (مثلاً فتح جلسة جديدة). راجع وصف .Cm ControlMaster في .Xr ssh_config 5 للتفاصيل. .Pp .It Fl m Ar mac_spec قائمة خوارزميات MAC (رمز استيثاق الرسائل) مفصولة بفاصلة، ومحددة حسب الأفضلية. انظر الكلمة المفتاحية .Cm MACs في .Xr ssh_config 5 لمزيد من المعلومات. .Pp .It Fl N عدم تنفيذ أمر بعيد. هذا مفيد لمجرد تمرير المنافذ. راجع وصف .Cm SessionType في .Xr ssh_config 5 للتفاصيل. .Pp .It Fl n يعيد توجيه المدخلات القياسية من .Pa /dev/null (في الواقع، يمنع القراءة من المدخلات القياسية). يجب استخدام هذا عند تشغيل .Nm ssh في الخلفية. خدعة شائعة هي استخدام هذا لتشغيل برامج X11 على حاسوب بعيد. على سبيل المثال، .Ic ssh -n shadows.cs.hut.fi emacs & سيبدأ emacs على shadows.cs.hut.fi، وسيُمرر اتصال X11 آلياً عبر قناة معماة. سيُوضع برنامج .Nm ssh في الخلفية. (لا يعمل هذا إذا احتاج .Nm ssh لطلب كلمة مرور أو عبارة مرور؛ انظر أيضاً خيار .Fl f ) . راجع وصف .Cm StdinNull في .Xr ssh_config 5 للتفاصيل. .Pp .It Fl O Ar ctl_cmd التحكم في عملية رئيسة لتعدد الإرسال للاتصال النشط. عند تحديد الخيار .Fl O ، يتم تفسير الوسيطة .Ar ctl_cmd وتمريرها إلى العملية الرئيسة. الأوامر الصالحة هي: .Dq check (التحقق من أن العملية الرئيسة قيد التشغيل)، .Dq conninfo (الإبلاغ عن معلومات حول الاتصال الرئيس)، .Dq channels (الإبلاغ عن معلومات حول القنوات المفتوحة)، .Dq forward (طلب إعادة التوجيه دون تنفيذ الأمر)، .Dq cancel (إلغاء عمليات إعادة التوجيه)، .Dq proxy (الاتصال بعملية رئيسة متعددة الإرسال قيد التشغيل في وضع الوكيل)، .Dq exit (طلب من العملية الرئيسة الخروج)، و .Dq stop (طلب من العملية الرئيسة التوقف عن قبول المزيد من طلبات التعدد). .Pp .It Fl o Ar خيار يمكن استخدامه لإعطاء خيارات بالتنسيق المستخدم في ملف الضبط. هذا مفيد لتحديد خيارات ليس لها علم منفصل في سطر الأوامر. للحصول على تفاصيل كاملة عن الخيارات المدرجة أدناه وقيمها الممكنة، انظر .Xr ssh_config 5 . .Pp .Bl -tag -width Ds -offset indent -compact .It AddKeysToAgent .It AddressFamily .It BatchMode .It BindAddress .It BindInterface .It CASignatureAlgorithms .It CanonicalDomains .It CanonicalizeFallbackLocal .It CanonicalizeHostname .It CanonicalizeMaxDots .It CanonicalizePermittedCNAMEs .It CertificateFile .It ChannelTimeout .It CheckHostIP .It Ciphers .It ClearAllForwardings .It الضغط .It ConnectTimeout .It ConnectionAttempts .It ControlMaster .It ControlPath .It ControlPersist .It DynamicForward .It EnableEscapeCommandline .It EnableSSHKeysign .It EscapeChar .It ExitOnForwardFailure .It FingerprintHash .It ForkAfterAuthentication .It ForwardAgent .It ForwardX11 .It ForwardX11Timeout .It ForwardX11Trusted .It GSSAPIAuthentication .It GSSAPIDelegateCredentials .It GatewayPorts .It GlobalKnownHostsFile .It HashKnownHosts .It Host .It HostKeyAlgorithms .It HostKeyAlias .It HostbasedAcceptedAlgorithms .It HostbasedAuthentication .It Hostname .It IPQoS .It IdentitiesOnly .It IdentityAgent .It IdentityFile .It IgnoreUnknown .It Include .It KbdInteractiveAuthentication .It KbdInteractiveDevices .It KexAlgorithms .It KnownHostsCommand .It LocalCommand .It LocalForward .It LogLevel .It LogVerbose .It MACs .It NoHostAuthenticationForLocalhost .It NumberOfPasswordPrompts .It ObscureKeystrokeTiming .It PKCS11Provider .It PasswordAuthentication .It PermitLocalCommand .It PermitRemoteOpen .It Port .It PreferredAuthentications .It ProxyCommand .It ProxyJump .It ProxyUseFdpass .It PubkeyAcceptedAlgorithms .It PubkeyAuthentication .It RekeyLimit .It RemoteCommand .It RemoteForward .It RequestTTY .It RequiredRSASize .It RevokedHostKeys .It SecurityKeyProvider .It SendEnv .It ServerAliveCountMax .It ServerAliveInterval .It SessionType .It SetEnv .It StdinNull .It StreamLocalBindMask .It StreamLocalBindUnlink .It StrictHostKeyChecking .It SyslogFacility .It TCPKeepAlive .It Tag .It Tunnel .It TunnelDevice .It UpdateHostKeys .It User .It UserKnownHostsFile .It VerifyHostKeyDNS .It VisualHostKey .It XAuthLocation .El .Pp .It Fl P Ar tag يحدد اسم وسم يمكن استخدامه لاختيار التكوين في .Xr ssh_config 5 . راجع الكلمتين المفتاحيتين .Cm Tag و .Cm Match في .Xr ssh_config 5 لمزيد من المعلومات. .It Fl p Ar port المنفذ المراد الاتصال به على المضيف البعيد. يمكن تحديد ذلك لكل مضيف في ملف التكوين. .Pp .It Fl Q Ar query_option يستعلم عن الخوارزميات التي تدعمها إحدى الميزات التالية: .Ar cipher (خوارزميات التعمية المتناظرة المدعومة)، .Ar cipher-auth (خوارزميات التعمية المتناظرة التي تدعم التعمية الموثقة)، .Ar help (عبارات الاستعلام المدعومة للاستخدام مع العلامة .Fl Q ) ، .Ar mac (رموز سلامة الرسائل المدعومة)، .Ar kex (خوارزميات تبادل المفاتيح)، .Ar key (أنواع المفاتيح)، .Ar key-ca-sign (خوارزميات توقيع CA الصالحة للشهادات)، .Ar key-cert (أنواع مفاتيح الشهادات)، .Ar key-plain (أنواع المفاتيح غير المعتمدة على شهادات)، .Ar key-sig (جميع أنواع المفاتيح وخوارزميات التوقيع)، .Ar protocol-version (إصدارات بروتوكول SSH المدعومة)، و .Ar sig (خوارزميات التوقيع المدعومة). بدلاً من ذلك، يمكن استخدام أي كلمة مفتاحية من .Xr ssh_config 5 أو .Xr sshd_config 5 تقبل قائمة خوارزميات كاسم مستعار لـ query_option المقابل. .Pp .It Fl q الوضع الهادئ. يتسبب في كتم معظم رسائل التحذير والتشخيص. .Pp .It Fl R Xo .Sm off .Oo Ar bind_address : Oc .Ar port : host : hostport .Sm on .Xc .It Fl R Xo .Sm off .Oo Ar bind_address : Oc .Ar port : local_socket .Sm on .Xc .It Fl R Xo .Sm off .Ar remote_socket : host : hostport .Sm on .Xc .It Fl R Xo .Sm off .Ar remote_socket : local_socket .Sm on .Xc .It Fl R Xo .Sm off .Oo Ar bind_address : Oc .Ar port .Sm on .Xc يحدد أن الاتصالات بمنفذ TCP المعطى أو مقبس Unix على المضيف البعيد (الخادم) سيُعاد توجيهها إلى الجانب المحلي. .Pp يعمل هذا عن طريق تخصيص مقبس للاستماع إما لمنفذ TCP .Ar port أو لمقبس Unix على الجانب البعيد. كلما أُجري اتصال بهذا المنفذ أو مقبس Unix، يُعاد توجيه الاتصال عبر القناة الآمنة، ويُجرى اتصال من الجهاز المحلي بإما وجهة صريحة محددة بـ .Ar host والمنفذ .Ar hostport ، أو .Ar local_socket ، أو، إذا لم تُحدد وجهة صريحة، سيعمل .Nm ssh كوكيل SOCKS 4/5 ويعيد توجيه الاتصالات إلى الوجهات التي يطلبها عميل SOCKS البعيد. .Pp يمكن أيضاً تحديد توجيه المنافذ في ملف التكوين. لا يمكن توجيه المنافذ المميزة إلا عند تسجيل الدخول كجذر (root) على الجهاز البعيد. يمكن تحديد عناوين IPv6 عن طريق وضع العنوان بين قوسين مربعين. .Pp مبدئياً، ستُربط مقابس استماع TCP على الخادم بواجهة الحلقة الارتدادية (loopback) فقط. يمكن تجاوز ذلك بتحديد .Ar bind_address . تشير قيمة .Ar bind_address فارغة، أو العنوان .Ql * ، إلى أن المقبس البعيد يجب أن يستمع على كافة الواجهات. لن ينجح تحديد .Ar bind_address بعيد إلا إذا كان خيار .Cm GatewayPorts مفعلاً في الخادم (راجع .Xr sshd_config 5 ) . .Pp إذا كانت وسيطة .Ar port هي .Ql 0 ، فسيُخصص منفذ الاستماع ديناميكياً على الخادم ويُبلغ به العميل وقت التشغيل. عند استخدامه مع .Ic -O forward ، سيُطبع المنفذ المخصص في المخرج القياسي. .Pp .It Fl S Ar ctl_path يحدد موقع مقبس التحكم لمشاركة الاتصال، أو السلسلة .Dq none لتعطيل مشاركة الاتصال. راجع وصف .Cm ControlPath و .Cm ControlMaster في .Xr ssh_config 5 للتفاصيل. .Pp .It Fl s يمكن استخدامه لطلب استدعاء نظام فرعي على النظام البعيد. تسهل الأنظمة الفرعية استخدام SSH كوسيلة نقل آمنة لتطبيقات أخرى (مثل .Xr sftp 1 ) . يُحدد النظام الفرعي كأمر بعيد. راجع وصف .Cm SessionType في .Xr ssh_config 5 للتفاصيل. .Pp .It Fl T تعطيل تخصيص الطرفية الوهمية. .Pp .It Fl t فرض تخصيص طرفية وهمية. يمكن استخدام هذا لتنفيذ برامج عشوائية تعتمد على الشاشة على جهاز بعيد، وهو أمر مفيد جداً، مثلاً عند تنفيذ خدمات القوائم. خيارات .Fl t المتعددة تفرض تخصيص tty، حتى لو لم يكن لـ .Nm ssh أي tty محلي. .Pp .It Fl V اعرض رقم الإصدار واخرج. .Pp .It Fl v الوضع المسهب. يجعل .Nm ssh يطبع رسائل تنقيح حول تقدمه. وهذا مفيد في تنقيح مشاكل الاتصال، والاستيثاق، والتكوين. خيارات .Fl v المتعددة تزيد الإسهاب. الحد الأقصى هو 3. .Pp .It Fl W Ar host : Ns Ar port يطلب توجيه الدخل والخرج القياسي في العميل إلى .Ar host على .Ar port عبر القناة الآمنة. يتضمن ذلك .Fl N ، و .Fl T ، و .Cm ExitOnForwardFailure و .Cm ClearAllForwardings ، بالرغم من إمكانية تجاوز هذه الخيارات في ملف التكوين أو باستخدام خيارات سطر الأوامر .Fl o . .Pp .It Fl w Xo .Ar local_tun Ns Op : Ns Ar remote_tun .Xc يطلب توجيه جهاز النفق باستخدام أجهزة .Xr tun 4 المحددة بين العميل .Pq Ar local_tun والخادم .Pq Ar remote_tun . .Pp يمكن تحديد الأجهزة بواسطة معرف رقمي أو الكلمة المفتاحية .Dq any ، والتي تستخدم جهاز النفق المتاح التالي. إذا لم يُحدد .Ar remote_tun ، فإنه يُضبط مبدئيًا على .Dq any . انظر أيضًا التوجيهين .Cm Tunnel و .Cm TunnelDevice في .Xr ssh_config 5 . .Pp إذا لم يُضبط توجيه .Cm Tunnel ، فسيُضبط على وضع النفق المبدئي، وهو .Dq point-to-point . إذا رُغب في وضع توجيه .Cm Tunnel مختلف، فيجب تحديده قبل .Fl w . .Pp .It Fl X يُفعل توجيه X11. يمكن أيضاً تحديد ذلك لكل مضيف في ملف التكوين. .Pp ينبغي تفعيل تمرير X11 بحذر. يمكن للمستخدمين الذين لديهم القدرة على تجاوز أذونات الملفات على المضيف البعيد (لقاعدة بيانات تخويل X الخاصة بالمستخدم) الوصول إلى عرض X11 المحلي من خلال الاتصال الممرر. قد يتمكن المهاجم حينها من القيام بأنشطة مثل مراقبة ضغطات المفاتيح. .Pp لهذا السبب، يخضع تمرير X11 لقيود ملحق X11 SECURITY مبدئيًا. راجع خيار .Nm ssh .Fl Y وتوجيه .Cm ForwardX11Trusted في .Xr ssh_config 5 لمزيد من المعلومات. .Pp .It Fl x يعطل توجيه X11. .Pp .It Fl Y يُفعل توجيه X11 الموثوق. لا تخضع توجيهات X11 الموثوقة لضوابط ملحق X11 SECURITY. .Pp .It Fl y إرسال معلومات السجل باستخدام وحدة نظام .Xr syslog 3 . تُرسل هذه المعلومات مبدئيًا إلى stderr. .El .Pp قد يحصل .Nm ssh إضافيًا على بيانات الضبط من ملف ضبط لكل مستخدم وملف ضبط على مستوى النظام. توصف صيغة الملف وخيارات الضبط في .Xr ssh_config 5 . .Sh الاستيثاق يدعم عميل OpenSSH SSH بروتوكول SSH الإصدار 2. .Pp الطرق المتاحة للاستيثاق هي: الاستيثاق القائم على GSSAPI، والاستيثاق القائم على المضيف، والاستيثاق بالمفتاح العام، والاستيثاق التفاعلي عبر لوحة المفاتيح، والاستيثاق بكلمة السر. تُجرب طرق الاستيثاق بالترتيب المحدد أعلاه، وإن كان يمكن استخدام .Cm PreferredAuthentications لتغيير الترتيب المبدئي. .Pp يعمل الاستيثاق القائم على المضيف كما يلي: إذا كان الحاسوب الذي يسجل المستخدم دخوله منه مدرجًا في .Pa /etc/hosts.equiv أو .Pa /etc/ssh/shosts.equiv على الحاسوب البعيد، وكان المستخدم ليس root وأسماء المستخدمين هي نفسها في كلا الجانبين، أو إذا كانت الملفات .Pa ~/.rhosts أو .Pa ~/.shosts موجودة في دليل منزل المستخدم على الحاسوب البعيد وتحتوي على سطر يتضمن اسم حاسوب العميل واسم المستخدم على ذلك الحاسوب، يُنظر في أمر تسجيل دخول المستخدم. إضافة إلى ذلك، .Em يجب أن يكون الخادم قادرًا على التحقق من مفتاح مضيف العميل (انظر وصف .Pa /etc/ssh/ssh_known_hosts و .Pa ~/.ssh/known_hosts ، أدناه) للسماح بتسجيل الدخول. تسد طريقة الاستيثاق هذه الثغرات الأمنية الناتجة عن انتحال IP، وانتحال DNS، وانتحال التوجيه. [ملاحظة للمسؤول: .Pa /etc/hosts.equiv و .Pa ~/.rhosts وبروتوكول rlogin/rsh بشكل عام، هي غير آمنة بطبيعتها وينبغي تعطيلها إذا رُغب في الأمن.] .Pp يعمل الاستيثاق بالمفتاح العام كما يلي: يعتمد المخطط على تعمية المفتاح العام، باستخدام أنظمة تعمية حيث يتم التعمية وفك التعمية باستخدام مفاتيح منفصلة، ومن غير المجدي اشتقاق مفتاح فك التعمية من مفتاح التعمية. الفكرة هي أن كل مستخدم ينشئ زوج مفاتيح عام/خاص لأغراض الاستيثاق. يعرف الخادم المفتاح العام، والمستخدم فقط يعرف المفتاح الخاص. ينفذ .Nm ssh بروتوكول الاستيثاق بالمفتاح العام آليًا، باستخدام خوارزميات ECDSA أو Ed25519 أو RSA. .Pp يسرد الملف .Pa ~/.ssh/authorized_keys المفاتيح العامة المسموح لها بتسجيل الدخول. عندما يسجل المستخدم دخوله، يخبر برنامج .Nm ssh الخادم بزوج المفاتيح الذي يرغب في استخدامه للاستيثاق. يثبت العميل أن لديه حق الوصول إلى المفتاح الخاص ويتحقق الخادم من أن المفتاح العام المقابل مخول بقبول الحساب. .Pp قد يخبر الخادم العميل بالأخطاء التي منعت الاستيثاق بالمفتاح العام من النجاح بعد اكتمال الاستيثاق باستخدام طريقة مختلفة. يمكن عرض هذه الأخطاء بزيادة .Cm LogLevel إلى .Cm DEBUG أو أعلى (على سبيل المثال باستخدام علامة .Fl v ) . .Pp ينشئ المستخدم زوج المفاتيح الخاص به عن طريق تشغيل .Xr ssh-keygen 1 . سيخزن هذا المفتاح الخاص في .Pa ~/.ssh/id_ecdsa (ECDSA)، أو .Pa ~/.ssh/id_ecdsa_sk (ECDSA مستضاف على الموثق)، أو .Pa ~/.ssh/id_ed25519 (Ed25519)، أو .Pa ~/.ssh/id_ed25519_sk (Ed25519 مستضاف على الموثق)، أو .Pa ~/.ssh/id_rsa (RSA) ويخزن المفتاح العام في .Pa ~/.ssh/id_ecdsa.pub (ECDSA)، أو .Pa ~/.ssh/id_ecdsa_sk.pub (ECDSA مستضاف على الموثق)، أو .Pa ~/.ssh/id_ed25519.pub (Ed25519)، أو .Pa ~/.ssh/id_ed25519_sk.pub (Ed25519 مستضاف على الموثق)، أو .Pa ~/.ssh/id_rsa.pub (RSA) في دليل منزل المستخدم. يجب على المستخدم بعد ذلك نسخ المفتاح العام إلى .Pa ~/.ssh/authorized_keys في دليل منزله على الحاسوب البعيد. يقابل ملف .Pa authorized_keys ملف .Pa ~/.rhosts التقليدي، ويحتوي على مفتاح واحد في كل سطر، وإن كانت الأسطر يمكن أن تكون طويلة جدًا. بعد ذلك، يمكن للمستخدم تسجيل الدخول دون إعطاء كلمة السر. .Pp يتوفر نوع مختلف من الاستيثاق بالمفتاح العام في شكل استيثاق بالشهادة: فبدلاً من مجموعة من المفاتيح العامة/الخاصة، تُستخدم شهادات موقعة. يمتاز هذا بإمكانية استخدام سلطة شهادات موثوقة واحدة بدلاً من العديد من المفاتيح العامة/الخاصة. انظر قسم CERTIFICATES في .Xr ssh-keygen 1 لمزيد من المعلومات. .Pp قد تكون الطريقة الأكثر ملاءمة لاستخدام الاستيثاق بالمفتاح العام أو الشهادة هي استخدام وكيل استيثاق. انظر .Xr ssh-agent 1 و (اختياريًا) توجيه .Cm AddKeysToAgent في .Xr ssh_config 5 لمزيد من المعلومات. .Pp يعمل الاستيثاق التفاعلي عبر لوحة المفاتيح كما يلي: يرسل الخادم نص .Qq تحدٍ عشوائي ويطلب ردًا، وربما لعدة مرات. تشمل أمثلة الاستيثاق التفاعلي عبر لوحة المفاتيح استيثاق .Bx (انظر .Xr login.conf 5 ) و PAM (بعض أنظمة .Pf non- Ox ) . .Pp أخيرًا، إذا فشلت طرق الاستيثاق الأخرى، يطلب .Nm ssh من المستخدم كلمة سر. تُرسل كلمة المرور إلى المضيف البعيد للتحقق منها؛ ومع ذلك، بما أن جميع الاتصالات معمية، فلا يمكن رؤية كلمة السر من قبل شخص يتنصت على الشبكة. .Pp يصون .Nm ssh آليًا ويتحقق من قاعدة بيانات تحتوي على تعريف لجميع المضيفين الذين استخدم معهم من قبل. تُخزن مفاتيح المضيف في .Pa ~/.ssh/known_hosts في دليل منزل المستخدم. إضافة إلى ذلك، يُفحص الملف .Pa /etc/ssh/ssh_known_hosts آليًا للمضيفين المعروفين. تُضاف أي مضيفات جديدة آليًا إلى ملف المستخدم. إذا تغير تعريف مضيف ما، يحذر .Nm ssh من هذا ويعطل الاستيثاق بكلمة السر لمنع انتحال الخادم أو هجمات رجل في المنتصف، والتي قد تُستخدم بخلاف ذلك للالتفاف على التعمية. يمكن استخدام خيار .Cm StrictHostKeyChecking للتحكم في عمليات تسجيل الدخول إلى الحواسيب التي يكون مفتاح مضيفها غير معروف أو قد تغير. .Pp عندما يقبل الخادم هوية المستخدم، فإنه إما ينفذ الأمر المعطى في جلسة غير تفاعلية أو، إذا لم يُحدد أي أمر، يسجل الدخول إلى الحاسوب ويمنح المستخدم صدفة عادية كجلسة تفاعلية. جميع الاتصالات مع الأمر البعيد أو الصدفة ستُعمى آليًا. .Pp إذا طُلبت جلسة تفاعلية، فإن .Nm ssh سيطلب مبدئيًا فقط طرفية زائفة (pty) للجلسات التفاعلية عندما يكون لدى العميل واحدة. يمكن استخدام العلامتين .Fl T و .Fl t لتجاوز هذا السلوك. .Pp إذا خُصصت طرفية زائفة، يجوز للمستخدم استخدام محارف الهروب المذكورة أدناه. .Pp إذا لم تُخصص طرفية زائفة، فستكون الجلسة شفافة ويمكن استخدامها لنقل البيانات الثنائية بشكل موثوق. في معظم الأنظمة، سيؤدي ضبط محرف الهروب إلى .Dq none أيضًا إلى جعل الجلسة شفافة حتى لو استُخدمت tty. .Pp تنتهي الجلسة عندما يخرج الأمر أو الصدفة على الحاسوب البعيد وتُغلق جميع اتصالات X11 و TCP. .Sh محارف الهروب عندما تُطلب طرفية زائفة، يدعم .Nm ssh عددًا من الوظائف من خلال استخدام محرف هروب. .Pp يمكن إرسال محرف تلدة واحد كـ .Ic ~~ أو باتباع التلدة بمحرف آخر غير تلك الموضحة أدناه. يجب أن يتبع محرف الهروب دائمًا سطرًا جديدًا ليُفسر على أنه خاص. يمكن تغيير محرف الهروب في ملفات الضبط باستخدام توجيه الضبط .Cm EscapeChar أو في سطر الأوامر بواسطة الخيار .Fl e . .Pp عمليات الهروب المدعومة (بافتراض المبدئي .Ql ~ ) هي: .Bl -tag -width Ds .It Cm ~. قطع الاتصال. .It Cm ~^Z وضع .Nm ssh في الخلفية. .It Cm ~# سرد الاتصالات الممررة. .It Cm ~& وضع .Nm ssh في الخلفية عند تسجيل الخروج أثناء انتظار إنهاء الاتصال الممرر / جلسات X11. .It Cm ~? عرض قائمة بمحارف الهروب. .It Cm ~B إرسال BREAK إلى النظام البعيد (مفيد فقط إذا كان الطرف الآخر يدعمه). .It Cm ~C فتح سطر الأوامر. يسمح هذا حاليًا بإضافة عمليات تمرير المنافذ باستخدام الخيارات .Fl L و .Fl R و .Fl D (انظر أعلاه). كما يسمح بإلغاء عمليات تمرير المنافذ الحالية باستخدام .Sm off .Fl KL Oo Ar bind_address : Oc Ar port .Sm on للمحلي، و .Sm off .Fl KR Oo Ar bind_address : Oc Ar port .Sm on للبعيد و .Sm off .Fl KD Oo Ar bind_address : Oc Ar port .Sm on لعمليات تمرير المنافذ الديناميكية. يسمح .Ic !\& Ns Ar command للمستخدم بتنفيذ أمر محلي إذا كان خيار .Ic PermitLocalCommand مفعلًا في .Xr ssh_config 5 . تتوفر مساعدة أساسية باستخدام الخيار .Fl h . .It Cm ~I إظهار معلومات حول اتصال SSH الحالي. .It Cm ~R طلب إعادة تبادل المفاتيح للاتصال (مفيد فقط إذا كان الطرف الآخر يدعمه). .It Cm ~V تقليل الإسهاب .Pq Ic LogLevel عند كتابة الأخطاء إلى stderr. .It Cm ~v زيادة الإسهاب .Pq Ic LogLevel عند كتابة الأخطاء إلى stderr. .El .Sh تمرير TCP يمكن تحديد تمرير اتصالات TCP العشوائية عبر قناة آمنة إما في سطر الأوامر أو في ملف الضبط. أحد التطبيقات الممكنة لتمرير TCP هو الاتصال الآمن بخادم بريد؛ والآخر هو اختراق الجدران النارية. .Pp في المثال أدناه، ننظر في تعمية الاتصالات لعميل IRC، على الرغم من أن خادم IRC الذي يتصل به لا يدعم مباشرة الاتصالات المعمية. يعمل هذا كما يلي: يتصل المستخدم بالمضيف البعيد باستخدام .Nm ssh ، مع تحديد المنافذ التي ستُستخدم لتمرير الاتصال. بعد ذلك يمكن بدء البرنامج محليًا، وسيقوم .Nm ssh بتعمية وتمرير الاتصال إلى الخادم البعيد. .Pp يقوم المثال التالي بنفق جلسة IRC من العميل إلى خادم IRC في .Dq server.example.com ، والانضمام إلى القناة .Dq #users ، باللقب .Dq pinky ، باستخدام منفذ IRC القياسي، 6667: .Bd -literal -offset 4n $ ssh -f -L 6667:localhost:6667 server.example.com sleep 10 $ irc -c '#users' pinky IRC/127.0.0.1 .Ed .Pp خيار .Fl f يضع .Nm ssh في الخلفية والأمر البعيد .Dq sleep 10 محدد للسماح بمقدار من الوقت (10 ثوانٍ، في المثال) لبدء البرنامج الذي سيستخدم النفق. إذا لم تُجرَ أي اتصالات خلال الوقت المحدد، فسيخرج .Nm . .Sh تمرير X11 إذا ضُبط متغير .Cm ForwardX11 على .Dq yes (أو انظر وصف خيارات .Fl X و .Fl x و .Fl Y أعلاه) وكان المستخدم يستخدم X11 (متغير البيئة .Ev DISPLAY مضبوط)، فسيُمرر الاتصال بعرض X11 آليًا إلى الجانب البعيد بطريقة تجعل أي برامج X11 تبدأ من الصدفة (أو الأمر) تمر عبر القناة المعمية، وسيجري الاتصال بخادم X الحقيقي من الحاسوب المحلي. يجب على المستخدم عدم ضبط .Ev DISPLAY يدويًا. يمكن ضبط تمرير اتصالات X11 في سطر الأوامر أو في ملفات الضبط. .Pp ستشير قيمة .Ev DISPLAY التي ضبطها .Nm ssh إلى حاسوب الخادم، ولكن برقم عرض أكبر من الصفر. هذا أمر طبيعي، ويحدث لأن .Nm ssh ينشئ خادم X .Dq وكيل على حاسوب الخادم لتمرير الاتصالات عبر القناة المعمية. .Pp سيقوم .Nm ssh أيضًا بإعداد بيانات Xauthority آليًا على حاسوب الخادم. لهذا الغرض، سيولد كعكة تخويل عشوائية، ويخزنها في Xauthority على الخادم، ويتحقق من أن أي اتصالات ممررة تحمل هذه الكعكة ويستبدلها بالكعكة الحقيقية عند فتح الاتصال. لا تُرسل كعكة الاستيثاق الحقيقية أبدًا إلى حاسوب الخادم (ولا تُرسل أي كعكات بشكل صريح). .Pp إذا ضُبط متغير .Cm ForwardAgent على .Dq yes (أو انظر وصف خيارات .Fl A و .Fl a أعلاه) وكان المستخدم يستخدم وكيل استيثاق، فسيُمرر الاتصال بالوكيل آليًا إلى الجانب البعيد. .Sh التحقق من مفاتيح المضيف عند الاتصال بخادم لأول مرة، تُعرض بصمة للمفتاح العام للخادم للمستخدم (ما لم يكن الخيار .Cm StrictHostKeyChecking قد عُطّل). يمكن تحديد البصمات باستخدام .Xr ssh-keygen 1 : .Pp .Dl $ ssh-keygen -l -f /etc/ssh/ssh_host_rsa_key .Pp إذا كانت البصمة معروفة بالفعل، فيمكن مطابقتها ويمكن قبول المفتاح أو رفضه. إذا كانت البصمات القديمة (MD5) فقط للخادم متاحة، فيمكن استخدام خيار .Fl E في .Xr ssh-keygen 1 لخفض خوارزمية البصمة للمطابقة. .Pp نظرًا لصعوبة مقارنة مفاتيح المضيف بمجرد النظر إلى سلاسل البصمات، هناك أيضًا دعم لمقارنة مفاتيح المضيف بصريًا، باستخدام .Em random art . بضبط خيار .Cm VisualHostKey على .Dq yes ، يُعرض رسم ASCII صغير في كل تسجيل دخول إلى خادم، بغض النظر عما إذا كانت الجلسة نفسها تفاعلية أم لا. من خلال تعلم النمط الذي ينتجه خادم معروف، يمكن للمستخدم بسهولة معرفة أن مفتاح المضيف قد تغير عندما يُعرض نمط مختلف تمامًا. ومع ذلك، لأن هذه الأنماط ليست قاطعة، فإن النمط الذي يبدو مشابهًا للنمط المتذكر يعطي فقط احتمالية جيدة بأن مفتاح المضيف هو نفسه، وليس دليلاً مضمونًا. .Pp للحصول على قائمة بالبصمات مع فنها العشوائي لجميع المضيفين المعروفين، يمكن استخدام سطر الأوامر التالي: .Pp .Dl $ ssh-keygen -lv -f ~/.ssh/known_hosts .Pp إذا كانت البصمة غير معروفة، تتوفر طريقة بديلة للتحقق: بصمات SSH المتحقق منها بواسطة DNS. يُضاف سجل مورد (RR) إضافي، SSHFP، إلى ملف المنطقة ويتمكن العميل المتصل من مطابقة البصمة مع بصمة المفتاح المقدم. .Pp في هذا المثال، نقوم بتوصيل عميل بخادم، .Dq host.example.com . ينبغي أولاً إضافة سجلات موارد SSHFP إلى ملف المنطقة لـ host.example.com: .Bd -literal -offset indent $ ssh-keygen -r host.example.com. .Ed .Pp سيتعين إضافة أسطر الإخراج إلى ملف المنطقة. للتحقق من أن المنطقة تجيب على استعلامات البصمة: .Pp .Dl $ dig -t SSHFP host.example.com .Pp أخيرًا يتصل العميل: .Bd -literal -offset indent $ ssh -o "VerifyHostKeyDNS ask" host.example.com [...] Matching host key fingerprint found in DNS. Are you sure you want to continue connecting (yes/no)? .Ed .Pp انظر خيار .Cm VerifyHostKeyDNS في .Xr ssh_config 5 لمزيد من المعلومات. .Sh الشبكات الخاصة الافتراضية القائمة على SSH يحتوي .Nm ssh على دعم لنفق الشبكة الخاصة الافتراضية (VPN) باستخدام جهاز الشبكة الزائف .Xr tun 4 ، مما يسمح بربط شبكتين بشكل آمن. يتحكم خيار ضبط .Xr sshd_config 5 المسمى .Cm PermitTunnel فيما إذا كان الخادم يدعم هذا، وبأي مستوى (حركة مرور الطبقة 2 أو 3). .Pp سيقوم المثال التالي بتوصيل شبكة العميل 10.0.50.0/24 مع الشبكة البعيدة 10.0.99.0/24 باستخدام اتصال نقطة إلى نقطة من 10.1.1.1 إلى 10.1.1.2، بشرط أن يسمح خادم SSH الذي يعمل على البوابة إلى الشبكة البعيدة، في 192.168.1.15، بذلك. .Pp على العميل: .Bd -literal -offset indent # ssh -f -w 0:1 192.168.1.15 true # ifconfig tun0 10.1.1.1 10.1.1.2 netmask 255.255.255.252 # route add 10.0.99.0/24 10.1.1.2 .Ed .Pp على الخادم: .Bd -literal -offset indent # ifconfig tun1 10.1.1.2 10.1.1.1 netmask 255.255.255.252 # route add 10.0.50.0/24 10.1.1.1 .Ed .Pp يمكن ضبط وصول العميل بشكل أدق عبر ملف .Pa /root/.ssh/authorized_keys (انظر أدناه) وخيار خادم .Cm PermitRootLogin . سيسمح الإدخال التالي بالاتصالات على جهاز .Xr tun 4 رقم 1 من المستخدم .Dq jane وعلى جهاز tun رقم 2 من المستخدم .Dq john ، إذا ضُبط .Cm PermitRootLogin على .Dq forced-commands-only : .Bd -literal -offset 2n tunnel="1",command="sh /etc/netstart tun1" ssh-rsa ... jane tunnel="2",command="sh /etc/netstart tun2" ssh-rsa ... john .Ed .Pp بما أن الإعداد القائم على SSH يستلزم قدرًا كبيرًا من العبء الإضافي، فقد يكون أكثر ملاءمة للإعدادات المؤقتة، مثل شبكات VPN اللاسلكية. توفر أدوات مثل .Xr ipsecctl 8 و .Xr isakmpd 8 شبكات VPN أكثر ديمومة بشكل أفضل. .Sh البيئة سيقوم .Nm ssh عادة بضبط متغيرات البيئة التالية: .Bl -tag -width SSH_ORIGINAL_COMMAND .It Ev DISPLAY يشير متغير .Ev DISPLAY إلى موقع خادم X11. يُضبط آليًا بواسطة .Nm ssh ليشير إلى قيمة من الصيغة .Dq hostname:n ، حيث يشير .Dq hostname إلى المضيف الذي تعمل فيه الصدفة، و .Sq n هو عدد صحيح \*(Ge 1. يستخدم .Nm ssh هذه القيمة الخاصة لتمرير اتصالات X11 عبر القناة الآمنة. ينبغي للمستخدم عادة عدم ضبط .Ev DISPLAY صراحة، لأن ذلك سيجعل اتصال X11 غير آمن (وسيتطلب من المستخدم نسخ أي كعكات تخويل مطلوبة يدويًا). .It Ev HOME مضبوط على مسار دليل منزل المستخدم. .It Ev LOGNAME مرادف لـ .Ev USER ؛ يُضبط للتوافق مع الأنظمة التي تستخدم هذا المتغير. .It Ev MAIL مضبوط على مسار صندوق بريد المستخدم. .It Ev PATH مضبوط على .Ev PATH المبدئي، كما هو محدد عند تجميع .Nm . .It Ev SSH_ASKPASS إذا احتاج .Nm ssh إلى عبارة مرور، فسيقرأ عبارة المرور من الطرفية الحالية إذا شُغل من طرفية. إذا لم يكن لدى .Nm ssh طرفية مرتبطة به ولكن ضُبط .Ev DISPLAY و .Ev SSH_ASKPASS ، فإنه سينفذ البرنامج المحدد بواسطة .Ev SSH_ASKPASS ويفتح نافذة X11 لقراءة عبارة المرور. هذا مفيد بشكل خاص عند استدعاء .Nm ssh من .Pa .xsession أو سكريبت ذي صلة. (لاحظ أنه في بعض الحواسيب قد يكون من الضروري إعادة توجيه الإدخال من .Pa /dev/null لجعل هذا يعمل.) .It Ev SSH_ASKPASS_REQUIRE تتيح تحكمًا أكبر في استخدام برنامج askpass. إذا ضُبط هذا المتغير على .Dq never فلن يحاول .Nm ssh استخدامه أبدًا. وإذا ضُبط على .Dq prefer ، فسيفضل .Nm ssh استخدام برنامج askpass بدلًا من TTY عند طلب كلمات السر. وأخيرًا، إذا ضُبط المتغير على .Dq force ، فسيُستخدم برنامج askpass لجميع عمليات إدخال عبارات المرور بغض النظر عما إذا كان .Ev DISPLAY مضبوطًا أم لا. .It Ev SSH_AUTH_SOCK يحدد مسار مقبس .Ux Ns -domain مستخدم للتواصل مع العميل. .It Ev SSH_CONNECTION يعرّف طرفي العميل والخادم للاتصال. يحتوي المتغير على أربع قيم مفصولة بمسافات: عنوان IP الخاص بالعميل، ورقم منفذ العميل، وعنوان IP الخاص بالخادم، ورقم منفذ الخادم. .It Ev SSH_ORIGINAL_COMMAND يحتوي هذا المتغير على سطر الأوامر الأصلي في حال نُفذ أمر مفروض. يمكن استخدامه لاستخراج المعاملات الأصلية. .It Ev SSH_TTY يُضبط هذا على اسم tty (المسار إلى الجهاز) المرتبط بالصدفة أو الأمر الحالي. إذا لم تكن للجلسة الحالية tty، فلن يُضبط هذا المتغير. .It Ev SSH_TUNNEL يُضبط اختياريًا بواسطة .Xr sshd 8 ليحتوي على أسماء الواجهات المعينة إذا طلب العميل تمرير النفق. .It Ev SSH_USER_AUTH يُضبط اختياريًا بواسطة .Xr sshd 8 ، وقد يحتوي هذا المتغير على مسار لملف يسرد طرق الاستيثاق التي استُخدمت بنجاح عند إنشاء الجلسة، بما في ذلك أي مفاتيح عامة استُخدمت. .It Ev TZ يُضبط هذا المتغير للإشارة إلى المنطقة الزمنية الحالية إذا كانت مضبوطة عند بدء تشغيل العفريت (أي أن العفريت يمرر القيمة إلى الاتصالات الجديدة). .It Ev USER مضبوط على اسم المستخدم الذي يسجل دخوله. .El .Pp بالإضافة إلى ذلك، يقرأ .Nm ssh ملف .Pa ~/.ssh/environment ، ويضيف أسطرًا بصيغة .Dq VARNAME=value إلى البيئة إذا كان الملف موجودًا وكان مسموحًا للمستخدمين بتغيير بيئتهم. لمزيد من المعلومات، راجع خيار .Cm PermitUserEnvironment في .Xr sshd_config 5 . .Sh الملفات .Bl -tag -width Ds -compact .It Pa ~/.rhosts يُستخدم هذا الملف للاستيثاق المستند إلى المضيف (انظر أعلاه). في بعض الحواسيب، قد يحتاج هذا الملف أن يكون قابلاً للقراءة من الجميع إذا كان الدليل المنزلي للمستخدم على قسم NFS، لأن .Xr sshd 8 يقرأه كجذر. بالإضافة إلى ذلك، يجب أن يمتلك المستخدم هذا الملف، ويجب ألا تتوفر صلاحيات الكتابة لأي شخص آخر. الأذونات الموصى بها لمعظم الحواسيب هي القراءة/الكتابة للمستخدم، وعدم إمكانية الوصول من قبل الآخرين. .Pp .It Pa ~/.shosts يستخدم هذا الملف بنفس طريقة .Pa .rhosts تمامًا، ولكنه يسمح بالاستيثاق القائم على المضيف دون السماح بتسجيل الدخول باستخدام rlogin/rsh. .Pp .It Pa ~/.ssh/ هذا الدليل هو الموقع المبدئي لجميع معلومات الضبط والاستيثاق الخاصة بالمستخدم. لا يوجد متطلب عام للحفاظ على سرية المحتويات الكاملة لهذا الدليل، ولكن الأذونات الموصى بها هي القراءة/الكتابة/التنفيذ للمستخدم، وعدم إمكانية الوصول من قبل الآخرين. .Pp .It Pa ~/.ssh/authorized_keys يسرد المفاتيح العامة (ECDSA، Ed25519، RSA) التي يمكن استخدامها لتسجيل الدخول بهذا المستخدم. وُصفت صيغة هذا الملف في صفحة دليل .Xr sshd 8 . هذا الملف ليس حساسًا للغاية، ولكن الأذونات الموصى بها هي القراءة/الكتابة للمستخدم، وعدم إمكانية الوصول من قبل الآخرين. .Pp .It Pa ~/.ssh/config هذا هو ملف ضبط المستخدم. وُصفت صيغة الملف وخيارات الضبط في .Xr ssh_config 5 . وبسبب احتمال إساءة الاستخدام، يجب أن يكون لهذا الملف أذونات صارمة: القراءة/الكتابة للمستخدم، وألا يكون قابلاً للكتابة من قبل الآخرين. .Pp .It Pa ~/.ssh/environment يحتوي على تعريفات إضافية لمتغيرات البيئة؛ انظر .Sx ENVIRONMENT ، أعلاه. .Pp .It Pa ~/.ssh/id_ecdsa .It Pa ~/.ssh/id_ecdsa_sk .It Pa ~/.ssh/id_ed25519 .It Pa ~/.ssh/id_ed25519_sk .It Pa ~/.ssh/id_rsa يحتوي على المفتاح الخاص للاستيثاق. تحتوي هذه الملفات على بيانات حساسة ويجب أن تكون قابلة للقراءة من قِبَل المستخدم ولكن لا يمكن للآخرين الوصول إليها (قراءة/كتابة/تنفيذ). سيتجاهل .Nm ssh ببساطة ملف مفتاح خاص إذا كان متاحًا للآخرين. ومن الممكن تحديد عبارة مرور عند توليد المفتاح ستُستخدم لتعمية الجزء الحساس من هذا الملف باستخدام AES-128. .Pp .It Pa ~/.ssh/id_ecdsa.pub .It Pa ~/.ssh/id_ecdsa_sk.pub .It Pa ~/.ssh/id_ed25519.pub .It Pa ~/.ssh/id_ed25519_sk.pub .It Pa ~/.ssh/id_rsa.pub يحتوي على المفتاح العام للاستيثاق. هذه الملفات ليست حساسة ويمكن (ولكن ليس بالضرورة) أن تكون قابلة للقراءة من قِبَل أي شخص. .Pp .It Pa ~/.ssh/known_hosts يحتوي على قائمة بمفاتيح المضيف لجميع المضيفين الذين سجل المستخدم دخولهم والذين ليسوا موجودين بالفعل في قائمة مفاتيح المضيفين المعروفة على مستوى النظام. راجع .Xr sshd 8 لمزيد من التفاصيل حول صيغة هذا الملف. .Pp .It Pa ~/.ssh/rc تُنفذ الأوامر في هذا الملف بواسطة .Nm ssh عند تسجيل دخول المستخدم، مباشرة قبل بدء صدفة المستخدم (أو الأمر). راجع صفحة دليل .Xr sshd 8 لمزيد من المعلومات. .Pp .It Pa /etc/hosts.equiv هذا الملف مخصص للاستيثاق المستند إلى المضيف (انظر أعلاه). يجب أن يكون قابلاً للكتابة من قِبَل الجذر (root) فقط. .Pp .It Pa /etc/ssh/shosts.equiv يستخدم هذا الملف بنفس طريقة .Pa hosts.equiv تمامًا، ولكنه يسمح بالاستيثاق القائم على المضيف دون السماح بتسجيل الدخول باستخدام rlogin/rsh. .Pp .It Pa /etc/ssh/ssh_config ملف الضبط على مستوى النظام. وُصفت صيغة الملف وخيارات الضبط في .Xr ssh_config 5 . .Pp .It Pa /etc/ssh/ssh_host_ecdsa_key .It Pa /etc/ssh/ssh_host_ed25519_key .It Pa /etc/ssh/ssh_host_rsa_key تحتوي هذه الملفات على الأجزاء الخاصة من مفاتيح المضيف وتُستخدم للاستيثاق المستند إلى المضيف. .Pp .It Pa /etc/ssh/ssh_known_hosts قائمة بمفاتيح المضيف المعروفة على مستوى النظام. ينبغي أن يجهز مدير النظام هذا الملف ليحتوي على مفاتيح المضيف العامة لجميع الحواسيب في المؤسسة. ويجب أن يكون قابلاً للقراءة من الجميع. راجع .Xr sshd 8 لمزيد من التفاصيل حول صيغة هذا الملف. .Pp .It Pa /etc/ssh/sshrc تُنفذ الأوامر في هذا الملف بواسطة .Nm ssh عند تسجيل دخول المستخدم، مباشرة قبل بدء صدفة المستخدم (أو الأمر). راجع صفحة دليل .Xr sshd 8 لمزيد من المعلومات. .El .Sh حالة الخروج يخرج .Nm ssh بحالة خروج الأمر البعيد أو بالقيمة 255 في حال حدوث خطأ. .Sh انظر أيضًا .Xr scp 1 ، .Xr sftp 1 ، .Xr ssh-add 1 ، .Xr ssh-agent 1 ، .Xr ssh-keygen 1 ، .Xr ssh-keyscan 1 ، .Xr tun 4 ، .Xr ssh_config 5 ، .Xr ssh-keysign 8 ، .Xr sshd 8 .Sh المعايير .Rs .%A S. Lehtinen .%A C. Lonvick .%D يناير 2006 .%R RFC 4250 .%T The Secure Shell (SSH) Protocol Assigned Numbers .Re .Pp .Rs .%A T. Ylonen .%A C. Lonvick .%D يناير 2006 .%R RFC 4251 .%T The Secure Shell (SSH) Protocol Architecture .Re .Pp .Rs .%A T. Ylonen .%A C. Lonvick .%D يناير 2006 .%R RFC 4252 .%T The Secure Shell (SSH) Authentication Protocol .Re .Pp .Rs .%A T. Ylonen .%A C. Lonvick .%D يناير 2006 .%R RFC 4253 .%T The Secure Shell (SSH) Transport Layer Protocol .Re .Pp .Rs .%A T. Ylonen .%A C. Lonvick .%D يناير 2006 .%R RFC 4254 .%T The Secure Shell (SSH) Connection Protocol .Re .Pp .Rs .%A J. Schlyter .%A W. Griffin .%D يناير 2006 .%R RFC 4255 .%T Using DNS to Securely Publish Secure Shell (SSH) Key Fingerprints .Re .Pp .Rs .%A F. Cusack .%A M. Forssen .%D يناير 2006 .%R RFC 4256 .%T Generic Message Exchange Authentication for the Secure Shell Protocol (SSH) .Re .Pp .Rs .%A J. Galbraith .%A P. Remaker .%D يناير 2006 .%R RFC 4335 .%T The Secure Shell (SSH) Session Channel Break Extension .Re .Pp .Rs .%A M. Bellare .%A T. Kohno .%A C. Namprempre .%D يناير 2006 .%R RFC 4344 .%T The Secure Shell (SSH) Transport Layer Encryption Modes .Re .Pp .Rs .%A B. Harris .%D يناير 2006 .%R RFC 4345 .%T Improved Arcfour Modes for the Secure Shell (SSH) Transport Layer Protocol .Re .Pp .Rs .%A M. Friedl .%A N. Provos .%A W. Simpson .%D مارس 2006 .%R RFC 4419 .%T بروتوكول تبادل مجموعات ديفي-هيلمان لطبقة نقل القشرة الآمنة (SSH) .Re .Pp .Rs .%A J. Galbraith .%A R. Thayer .%D نوفمبر 2006 .%R RFC 4716 .%T The Secure Shell (SSH) Public Key File Format .Re .Pp .Rs .%A D. Stebila .%A J. Green .%D ديسمبر 2009 .%R RFC 5656 .%T Elliptic Curve Algorithm Integration in the Secure Shell Transport Layer .Re .Pp .Rs .%A A. Perrig .%A D. Song .%D 1999 .%O International Workshop on Cryptographic Techniques and E-Commerce (CrypTEC '99) .%T Hash Visualization: a New Technique to improve Real-World Security .Re .Sh المؤلفون OpenSSH هو مشتق من إصدارة ssh 1.2.12 الأصلية والحرة التي كتبها Tatu Ylonen. قام كل من Aaron Campbell و Bob Beck و Markus Friedl و Niels Provos و Theo de Raadt و Dug Song بإزالة العديد من العلل وإعادة إضافة ميزات أحدث وإنشاء OpenSSH. ساهم Markus Friedl بدعم بروتوكول SSH بالإصدارين 1.5 و 2.0. .Pp .Sh ترجمة تُرجمت هذه الصفحة من الدليل بواسطة زايد السعيدي . .Pp هذه الترجمة هي وثيقة مجانية؛ راجع .Lk https://www.gnu.org/licenses/gpl-3.0.html رخصة جنو العامة الإصدار 3 أو ما بعده للاطلاع على شروط حقوق النشر. لا توجد أي ضمانات. .Pp إذا وجدت أي أخطاء في ترجمة صفحة الدليل هذه، يرجى إرسال بريد إلكتروني إلى قائمة بريد المترجمين: .Mt kde-l10n-ar@kde.org .Me .