https://wiki.archlinux.org/api.php?action=feedcontributions&user=Abd+allatif&feedformat=atomArchWiki - User contributions [en]2024-03-29T15:56:48ZUser contributionsMediaWiki 1.41.0https://wiki.archlinux.org/index.php?title=Secure_Shell_(%D8%A7%D9%84%D8%B9%D8%B1%D8%A8%D9%8A%D8%A9)&diff=339697Secure Shell (العربية)2014-10-11T13:32:08Z<p>Abd allatif: </p>
<hr />
<div>[[Category:Secure Shell (العربية)]]<br />
[[Category:العربية]]<br />
[[Category:Networking (العربية)]]<br />
[[de:SSH]]<br />
[[en:Secure Shell]]<br />
[[es:Secure Shell]]<br />
[[fr:ssh]]<br />
[[it:Secure Shell]]<br />
[[ja:Secure Shell]]<br />
[[ko:Secure Shell]]<br />
[[pl:Secure Shell]]<br />
[[pt:Secure Shell]]<br />
[[ru:Secure Shell]]<br />
[[sr:Secure Shell]]<br />
[[zh-CN:Secure Shell]]<br />
<div align=right dir=rtl><br />
'''الصدفة الآمنة''' ('''SSH''') هي بروتوكول من بروتوكولات الشبكة التي تسمح بتبادل البيانات عبر محطة آمنة بين حاسبين مختلفين, التشفير يضمن سرية المعلومات. إن ssh يستخدم التعمية بالمفتاح العمومي لكي يتم الإستيثاق بالحاسب الذي يقوم بإجراء الإتصال وللسماح بالإستيثاق من المستخدم إذا كان ذلك ضروريًا.<br />
<br />
بشكل عام تُستخدم ssh للولوج الى حاسب عن بعد و تنفيذ أوامر, لكنها أيضًا تدعم إنشاء لأنفاق الآمنة بالإضافة الى تمرير المنافذ و إتصالات X11 ونقل الملفات يمكن أن يتم يإستخدام بروتوكول sftp أو بروتوكول scp.<br />
<br />
إن خادم ssh بشكل إفتراضي يقوم بإستقبال الإتصالات عبر المنفذ الإفتراضي 22 tcp, عميل ssh هو عبارة عن برنامج يُستخدم لإنشاء إتصال الى خدمة ssh في حال تم إعداده لقبول الإتصالات. كلاهما يتوفر بشكل كبير في الأنظمة الشهيرة كنظام Mac OS X, GNU/Linux, Solaris و OpenVMS. برامج مملوكة و مفتوحة المصدر بمختلف الإصدارات ومختلف مراحل التعقيد و الكمالية متوفرة في الوقت الراهن.<br />
<br />
(Source: [[Wikipedia:Secure Shell]])<br />
<br />
== OpenSSH ==<br />
إن openssh (OpenBSD Secure Shell) هو مجموعة من برامج الحاسب التي توفر وسيلة تواصل مشفرة بين شبكة من الحواسيب بإستخدام بروتوكول ssh, تم تطويرها لتُشكل بديلاً عن برمجيات الصدفة الآمنة المملوكة التي تم تطويرها بواسطة SSH Communications Security. إن openSSH تم تطويرها كجزء من مشروع OpenBSD الذي كان بقيادة Theo de Raadt.<br />
<br />
عادةً ما يتم الخلط بين openSSH و بين OpenSSL, كلا المشروعين لديه هدفه الخاص ولا علاقة له بالمشروع الآخر, لكن تشابه الأسماء يشير فقط الى التشابه في الهدف الذي هو توفير بدلا مفتوح المصدر عن البرمجيات المملوكة.<br />
<br />
=== Installing OpenSSH ===<br />
قم بتنصيب حزمة OpenSSH من المستودعات الرسمية<br />
=== تهيئة إعدادات ssh ===<br />
====العميل====<br />
إن ملفي الإعدادات الخاصين بعميل ssh هما {{ic|/etc/ssh/ssh_config}} أو {{ic|~/.ssh/config}}.<br />
<br />
مثال عن ملف الإعدادت :<br />
<div align=left dir=ltr><br />
{{hc|/etc/ssh/ssh_config|<br />
# $OpenBSD: ssh_config,v 1.26 2010/01/11 01:39:46 dtucker Exp $<br />
<br />
# This is the ssh client system-wide configuration file. See<br />
# ssh_config(5) for more information. This file provides defaults for<br />
# users, and the values can be changed in per-user configuration files<br />
# or on the command line.<br />
<br />
# Configuration data is parsed as follows:<br />
# 1. command line options<br />
# 2. user-specific file<br />
# 3. system-wide file<br />
# Any configuration value is only changed the first time it is set.<br />
# Thus, host-specific definitions should be at the beginning of the<br />
# configuration file, and defaults at the end.<br />
<br />
# Site-wide defaults for some commonly used options. For a comprehensive<br />
# list of available options, their meanings and defaults, please see the<br />
# ssh_config(5) man page.<br />
<br />
# Host *<br />
# ForwardAgent no<br />
# ForwardX11 no<br />
# RhostsRSAAuthentication no<br />
# RSAAuthentication yes<br />
# PasswordAuthentication yes<br />
# HostbasedAuthentication no<br />
# GSSAPIAuthentication no<br />
# GSSAPIDelegateCredentials no<br />
# BatchMode no<br />
# CheckHostIP yes<br />
# AddressFamily any<br />
# ConnectTimeout 0<br />
# StrictHostKeyChecking ask<br />
# IdentityFile ~/.ssh/identity<br />
# IdentityFile ~/.ssh/id_rsa<br />
# IdentityFile ~/.ssh/id_dsa<br />
# Port 22<br />
# Protocol 2,1<br />
# Cipher 3des<br />
# Ciphers aes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,aes128-cbc,3des-cbc<br />
# MACs hmac-md5,hmac-sha1,umac-64@openssh.com,hmac-ripemd160<br />
# EscapeChar ~<br />
# Tunnel no<br />
# TunnelDevice any:any<br />
# PermitLocalCommand no<br />
# VisualHostKey no<br />
# ProxyCommand ssh -q -W %h:%p gateway.example.com<br />
}}<br />
</div><br />
من المُفضل تغيير السطر الخاص بنوع البروتوكول الى السطر التالي :<br />
Protocol 2<br />
<br />
هذا يعني أن البروتوكول 2 سيتم إستخدامه فقط، لأن البروتوكول 1 يتم إعتباره غير آمنة بالمقارنة من البروتوكول 2.<br />
<br />
====خدمة ssh====<br />
يمكن الحصول وتعديل على إعدادات خدمة ssh في الملف {{ic|/etc/ssh/ssh'''d'''_config}}.<br />
<br />
مثال عن ملف الإعدادات :<br />
<div align=left dir=ltr><br />
{{hc|/etc/ssh/sshd_config|2=<br />
# $OpenBSD: sshd_config,v 1.82 2010/09/06 17:10:19 naddy Exp $<br />
<br />
# This is the sshd server system-wide configuration file. See<br />
# sshd_config(5) for more information.<br />
<br />
# This sshd was compiled with PATH=/usr/bin:/bin:/usr/sbin:/sbin<br />
<br />
# The strategy used for options in the default sshd_config shipped with<br />
# OpenSSH is to specify options with their default value where<br />
# possible, but leave them commented. Uncommented options change a<br />
# default value.<br />
<br />
#Port 22<br />
#AddressFamily any<br />
#ListenAddress 0.0.0.0<br />
#ListenAddress ::<br />
<br />
# The default requires explicit activation of protocol 1<br />
#Protocol 2<br />
<br />
# HostKey for protocol version 1<br />
#HostKey /etc/ssh/ssh_host_key<br />
# HostKeys for protocol version 2<br />
#HostKey /etc/ssh/ssh_host_rsa_key<br />
#HostKey /etc/ssh/ssh_host_dsa_key<br />
#HostKey /etc/ssh/ssh_host_ecdsa_key<br />
<br />
# Lifetime and size of ephemeral version 1 server key<br />
#KeyRegenerationInterval 1h<br />
#ServerKeyBits 1024<br />
<br />
# Logging<br />
# obsoletes QuietMode and FascistLogging<br />
#SyslogFacility AUTH<br />
#LogLevel INFO<br />
<br />
# Authentication:<br />
<br />
#LoginGraceTime 2m<br />
#PermitRootLogin yes<br />
#StrictModes yes<br />
#MaxAuthTries 6<br />
#MaxSessions 10<br />
<br />
#RSAAuthentication yes<br />
#PubkeyAuthentication yes<br />
#AuthorizedKeysFile .ssh/authorized_keys<br />
<br />
# For this to work you will also need host keys in /etc/ssh/ssh_known_hosts<br />
#RhostsRSAAuthentication no<br />
# similar for protocol version 2<br />
#HostbasedAuthentication no<br />
# Change to yes if you do not trust ~/.ssh/known_hosts for<br />
# RhostsRSAAuthentication and HostbasedAuthentication<br />
#IgnoreUserKnownHosts no<br />
# Don't read the user's ~/.rhosts and ~/.shosts files<br />
#IgnoreRhosts yes<br />
<br />
# To disable tunneled clear text passwords, change to no here!<br />
#PasswordAuthentication yes<br />
#PermitEmptyPasswords no<br />
<br />
# Change to no to disable s/key passwords<br />
ChallengeResponseAuthentication no<br />
<br />
# Kerberos options<br />
#KerberosAuthentication no<br />
#KerberosOrLocalPasswd yes<br />
#KerberosTicketCleanup yes<br />
#KerberosGetAFSToken no<br />
<br />
# GSSAPI options<br />
#GSSAPIAuthentication no<br />
#GSSAPICleanupCredentials yes<br />
<br />
# Set this to 'yes' to enable PAM authentication, account processing, <br />
# and session processing. If this is enabled, PAM authentication will <br />
# be allowed through the ChallengeResponseAuthentication and<br />
# PasswordAuthentication. Depending on your PAM configuration,<br />
# PAM authentication via ChallengeResponseAuthentication may bypass<br />
# the setting of "PermitRootLogin without-password".<br />
# If you just want the PAM account and session checks to run without<br />
# PAM authentication, then enable this but set PasswordAuthentication<br />
# and ChallengeResponseAuthentication to 'no'.<br />
UsePAM yes<br />
<br />
#AllowAgentForwarding yes<br />
#AllowTcpForwarding yes<br />
#GatewayPorts no<br />
#X11Forwarding no<br />
#X11DisplayOffset 10<br />
#X11UseLocalhost yes<br />
#PrintMotd yes<br />
#PrintLastLog yes<br />
#TCPKeepAlive yes<br />
#UseLogin no<br />
#UsePrivilegeSeparation yes<br />
#PermitUserEnvironment no<br />
#Compression delayed<br />
#ClientAliveInterval 0<br />
#ClientAliveCountMax 3<br />
#UseDNS yes<br />
#PidFile /var/run/sshd.pid<br />
#MaxStartups 10<br />
#PermitTunnel no<br />
#ChrootDirectory none<br />
<br />
# no default banner path<br />
#Banner none<br />
<br />
# override default of no subsystems<br />
Subsystem sftp /usr/lib/ssh/sftp-server<br />
<br />
# Example of overriding settings on a per-user basis<br />
#Match User anoncvs<br />
# X11Forwarding no<br />
# AllowTcpForwarding no<br />
# ForceCommand cvs server<br />
}}<br />
</div><br />
لكي يتم السماح بالولوج فقط لمُستخدمين مُحددين، قم بإضافة السطر التالي الى ملف الإعدادت :<br />
<div align=left dir=ltr><br />
AllowUsers user1 user2<br />
</div><br />
<br />
ولإلغاء تفعيل دخول المستخدم الجذر root مباشرةً عبر خدمة ssh، قم بتعديل قمية الخاصية PermitRootLogin الى التالي :<br />
<div align=left dir=ltr><br />
PermitRootLogin no<br />
</div><br />
<br />
ولكي تُضيف رسالة ترحيب، قم بتعديل ملف {{ic|/etc/issue}} ومن ثم قم بتعديل السطر الخاص بالقيمة Banner الى التالي :<br />
<div align=left dir=ltr><br />
Banner /etc/issue<br />
</div><br />
<br />
{{تلميح : لربما تريد تغيير المنفذ الإفتراضي من 22 الى رقم منفذ أعلى منه (يُمكنك الرجوع الى المقال security through obscurity) (راجع [http://en.wikipedia.org/wiki/Security_through_obscurity security through obscurity]).}} <br />
<br />
وعلى الرغم من أن منفذ ssh يُمكن الكشف عنه بسهولةبإحدى أدوات المسح الخاصة بالشبكات nmap، لكن تغييره سيُفيد بتقليل عدد محاولات الدخول المؤتمتة، للمساعدة في إختيار رقم منفذ مناسب قم بمراجعة المقال التالي [[Wikipedia:List of TCP and UDP port numbers|list of TCP and UDP port numbers]].<br />
<br />
{{Tip|إلغاء تفعيل الدخول عن طريق كلمات المرور ستُزيد بشكل كبير من الأمان راجع مقال [[SSH keys]] لمزيد من المعلومات.}}<br />
<br />
=== إدارة خدمة ssh ===<br />
يمكن بدء خدمة ssh بإستخدام التعلمية التالية :<br />
<div align=left dir=ltr><br />
# systemctl start sshd<br />
</div><br />
<br />
ويمكن تفعيل تشغيل خدمة ssh عند بدء تشغيل النظام بواسطة التعليمة التالية : # systemctl enable sshd.service<br />
<br />
{{تحذير|إن Systemd هو غير متزامن في بدء العمليات، لذا فإذا قُمت بتحديد خدمة ssh الى عنوان ip مُحدد ListenAddress 192.168.1.100، فيمكن أن تفشل في البدء أثناء الإقلاع، يُمكن حل هذه المشكلة بإضافة After&#61;network.target الى ملف الواحدة المُخصص، قم بمراجعة [[Systemd#Replacing provided unit files]].}}<br />
<br />
أو أن تقوم ببدء تشغيل خدمة ssh عند أول إتصال تتلقاه :<br />
# systemctl enable sshd.socket<br />
إذا كنت تستخدم منفذ غير منفذ 22 الإفتراضي، عليك وضع القيمة "ListenStream" في ملف الوحدة<br />
في ملف /etc/systemd/system/sshd.socket قم بتغيير القيمة "ListenStream" الى المنفذ المناسب.<br />
<br />
=== الإتصال بالخادم ===<br />
لكي تقوم بالإتصال بالخادم قم بتنفيذ التعليمة التالية :<br />
<div align=left dir=ltr><br />
$ ssh -p port user@server-address<br />
</div><br />
<br />
== عملاء و خوادم ssh الاخرى ==<br />
بعيدًا عن OpenSSH؛ يوجد هناك العديد من عملاء و خوادم ssh متاحة للإستخدام [[Wikipedia:Comparison of SSH clients|clients]] و [[Wikipedia:Comparison of SSH servers|servers]].<br />
<br />
=== Dropbear ===<br />
[[Wikipedia:Dropbear (software)|Dropbear]] هو خادم وعميل ssh-2. حزمة {{AUR|dropbear}} متوفرة في [[AUR]].<br />
<br />
إن عميل ssh الخاص بموجه الأوامر يُسمى dbclient.<br />
<br />
=== Mosh بديل SSH ===<br />
الجملة التالية مقتبسة من موقع [http://mosh.mit.edu/ mosh]:<br />
تطبيق يسمح بالإتصال عبر طرفية بعيدة, يدعم الإتصالات المتقطعة, ويقدم طريقة ذكية للتعديل السطري لكتابات المستخدم. Mosh هو بديل لخدمة ssh. هو أكثر قوة وإستجابة وخصوصًا عبر شبكات Wi-Fi, cellular و الشبكات بعيدة المدى.<br />
<br />
يمكنك تنصيب {{Pkg|mosh}} من المستودعات الرسمية، أو آخر نسخة {{AUR|mosh-git}} من [[AUR]].<br />
<br />
== تلمحيات ==<br />
<br />
=== انبوب SOCKS مُشفر ===<br />
هذه التلميحة مُفيدة جدًا لمستخدمي الحواسيب المُحمولة الذين يتصلون بشبكات WiFi غير آمنة. الشيء الوحيد الذي ستحتاج إليه هو خادم ssh يعمل في مكان آمن (العمل أو المنزل). من المفيد إستخدام خدمة DNS ديناميكية :[http://www.dyndns.org/ DynDNS] كمثال، لذا فلن تحتاج الى تذكر عنوان IP الخاص بك.<br />
<br />
==== الخطوة الولى : قم ببدء الإتصال ====<br />
عليك فقط تنفيذ التعليمة التالية لكي تقوم ببدء الإتصال بخادم ssh : $ ssh -TND 4711 user@host<br />
حيث {{Ic|"user"}} هو اسم المستخدم الخاص بك على الخادم {{Ic|"host"}}، سوف يتم سؤالك عن كلمة المرور الخاصة بك. بعد ذلك تكون قد قمت بالإتصال بنجاح. الراية {{Ic|"N"}} fتقوم بإلغاء تفعيل موجه الأوامر التفاعلي بينما الراية D تقوم بتحديد منفذ محلي يمكنك الإتصال منه (تستطيع إختيار أي رقم تريده). الراية {{Ic|"T"}} تقوم بإلغاء تفعيل حصة pseudo-tty.<br />
<br />
من المفيد استخدام الراية {{Ic|"-v"}} لأنها تسمح لك من التأكد من أن عملية الإتصال تمت بنجاح من المخرجات.<br />
<br />
==== الخطوة الثانية : إعداد المتصفح (أو بقية البرامج) ====<br />
الخطوة السابقة عديمة الجدوى تمامًا إن لم تقترن بالإعداد الصحيح لمتصفح الويب -أو أي برنامج آخر- لإستخدام انبوب socks الذي قمنا بإنشاءه.<br />
وبما أن النسخة الحالية من ssh تدعم SOCKS4 و SOCKS5 فيمكنك إستخدام أي منهما.<br />
<br />
لإعداد متصفح firefox : في البداية قم بالدخول الى Edit → Preferences → Advanced → Network → Connection → Setting :<br />
قم بتحديد الخيار "Manual proxy configuration" وقم بإدخال القيمة "localhost" في مربع النص المُعنون "SOCKS host" ومن ثم قم بإدخال رقم المنفذ الذي قمت بتحديده في الخطوة السابقة (تم إستخدام 4711)<br />
<br />
متصفح firefox لا يقوم بشكل تلقائي بعمل طلبات DNS عبر انبوب socks، هذا الأمر قد يُعرض خصوصيتك للخر لذا قم بعمل الخطوات التالية :<br />
<br />
- قم بطلب الصفحة about:config في شريط العنوان الخاص بمتصفح firefox<br />
- ابحث عن الراية network.proxy.socks_remote_dns<br />
- قم بتحديد true كقيمة لهذه الراية<br />
- قم بإعادة تشغيل المتصفح<br />
<br />
وأما مُتصفح Chromium فيمكنك تحديد إعدادات socks كمتغيرات خاصة بالبيئة أو بإستخدامها كوسيط في سطر الأوامر، أنا أفضل إضافة إحدى الدالتين الى ملف {{ic|.bashrc}} الخاص بك :<br />
<div align=left dir=ltr><br />
function secure_chromium {<br />
port=4711<br />
export SOCKS_SERVER=localhost:$port<br />
export SOCKS_VERSION=5<br />
chromium &<br />
exit<br />
}<br />
</div><br />
أو<br />
<div align=left dir=ltr><br />
function secure_chromium {<br />
port=4711<br />
chromium --proxy-server="socks://localhost:$port" &<br />
exit<br />
}<br />
</div><br />
<br />
الآن قم بفتح نافذة الطرفية و نفذ الأمر التالي :<br />
<div align=left dir=ltr><br />
$ secure_chromium<br />
</div><br />
<br />
=== تمرير X11 ===<br />
إذا أردت تشغيل برمجيات رسومية عبرإتصال ssh، يتوجب عليك تفعيل خيار تمرير X11 في ملفات الإعدادات في الخادم و العميل (هنا "العميل" هو الجهاز الذي يعمل عليه خادم X11 و يقوم بالإتصال بخدمات X11 من جهاز "الخادم").<br />
<br />
قم بتنصيب الحزمة {{Pkg|xorg-xauth}} من المستودعات الرسمية الى الخادم<br />
<br />
قم بتفعيل الخيار AllowTcpForwarding في ملف {{ic|ssh'''d'''_config}} على الخادم<br />
قم بتفعيل الخيار X11Forwarding في ملف {{ic|ssh'''d'''_config}} على الخادم<br />
قم بتحديد قيمة الخيار X11DisplayOffset في ملف {{ic|ssh'''d'''_config}} على الخادم الى الرقم 10<br />
قم بتفعيل الخيار X11UseLocalhost في ملف {{ic|ssh'''d'''_config}} على الخادم<br />
يتوجب عليك أيضًا :<br />
تفعيل الخيار X11UseLocalhost في ملف {{ic|ssh_config}} على العميل<br />
قم بتفعيل الخيار ForwardX11Trusted إذا وجدت مشاكل في الواجهة الرسومية<br />
<br />
بالطبع يتوجب عليك إعادة تشغيل خدمة ssh في الخادم لكي يتم تطبيق الإعدادت السابقة .<br />
<br />
عندما تقوم بإتسخدام تمرير X11 قم بتنفيذ الأمر التالي في الطرفية <br />
<div align=left dir=ltr><br />
$ ssh -X -p port user@server-address<br />
</div><br />
إذا واجهت مشكل في تشغيل البرمجيات الرسومية قم بعمل تمرير موثوق مستخدمًا الأمر التالي :<br />
<div align=left dir=ltr><br />
$ ssh -Y -p port user@server-address<br />
</div><br />
الآن عندما تقوم بتشغيل البرمجيات الرسومية على الخادم، فسيتم تمرير المخرجات الى جهازك المحلي.<br />
<div align=left dir=ltr><br />
$ xclock<br />
</div><br />
<br />
إذا واجهت أخطاء من قبيل "Cannot open display"، قم بتطبيق التعليمة التالية كمستخدم غير مدير للنظام :<br />
<div align=left dir=ltr><br />
$ xhost +<br />
</div><br />
<br />
التعليمة السابقة تقوم بالسماح بتمرير تطبيقات X11 للجميع، إذا أردت حصر ذلك بجهاز معين قم بإستخدام التعليمة التالية :<br />
<div align=left dir=ltr><br />
$ xhost +hostname<br />
</div><br />
<br />
حيث hostname هو اسم الجهاز الذي تريد تمرير إتصالات X11 له. يمكنك الرجوع الى "man xhost" لمزيد من المعلومات عن إستخدام هذا التعليمة.<br />
<br />
كن حذرًا مع بعض البرامج التي تتحقق من بيئة العمل المُستخدمة على الجهاز المحلي، مثال عليها برنامج firefox. فيمكنك إغلاق برنامج firefox أو عن طريق تشغيل firefox مفعلًا الخيار -no-remote :<br />
<div align=left dir=ltr><br />
$ firefox -no-remote<br />
</div><br />
إذا ظهرت لك رسالة الخطأ التالية "X11 forwarding request failed on channel 0" فقم بإحدى الخطوتين التاليتين :<br />
* قم بتفعيل خيار'''AddressFamily any''' في ملف {{ic|ssh'''d'''_config}} على الخادم.<br />
* قم بتحديد قيمة الخيار '''AddressFamily''' في ملف {{ic|ssh'''d'''_config}} على الخادم الى inet.<br />
تحديد القيمة inet للخيار AddressFamily يحّل المشاكل مع عملاء ubuntu الذين يستخدمون IPv4.<br />
<br />
=== تمرير المنافذ الاخرى ===<br />
بالإضافة الى خاصية تمرير X11 المدمجة مع ssh، يمكنك إنشاء نفق آمن لأي من إتصالات TCP، وذلك بإستخدام تمرير محلي أو عن بُعد.<br />
التمرير المحلي يقوم بفتح منفذ في الجهاز المحلي، الإتصالات سيتم تمريرها الى الخادم البعيد ومن ثم من هناك ستصل الى وجهتها.<br />
Very often, the forwarding destination will be the same as the remote host, thus providing a secure shell and, e.g. a secure VNC connection, to the same machine. Local forwarding is accomplished by means of the {{Ic|-L}} switch and it's accompanying forwarding specification in the form of {{Ic|<tunnel port>:<destination address>:<destination port>}}.<br />
<br />
Thus:<br />
<br />
$ ssh -L 1000:mail.google.com:25 192.168.0.100<br />
<br />
will use SSH to login to and open a shell on 192.168.0.100, and will also create a tunnel from the local machine's TCP port 1000 to mail.google.com on port 25. Once established, connections to localhost:1000 will connect to the Gmail SMTP port. To Google, it will appear that any such connection (though not necessarily the data conveyed over the connection) originated from 192.168.0.100, and such data will be secure as between the local machine and 192.168.0.100, but not between 192.168.0.100, unless other measures are taken.<br />
<br />
Similarly:<br />
<br />
$ ssh -L 2000:192.168.0.100:6001 192.168.0.100<br />
<br />
will allow connections to localhost:2000 which will be transparently sent to the remote host on port 6001. The preceding example is useful for VNC connections using the vncserver utility--part of the tightvnc package--which, though very useful, is explicit about its lack of security.<br />
<br />
Remote forwarding allows the remote host to connect to an arbitrary host via the SSH tunnel and the local machine, providing a functional reversal of local forwarding, and is useful for situations where, e.g., the remote host has limited connectivity due to firewalling. It is enabled with the {{Ic|-R}} switch and a forwarding specification in the form of {{Ic|<tunnel port>:<destination address>:<destination port>}}.<br />
<br />
Thus:<br />
<br />
$ ssh -R 3000:irc.freenode.net:6667 192.168.0.200<br />
<br />
will bring up a shell on 192.168.0.200, and connections from 192.168.0.200 to itself on port 3000 (remotely speaking, localhost:3000) will be sent over the tunnel to the local machine and then on to irc.freenode.net on port 6667, thus, in this example, allowing the use of IRC programs on the remote host to be used, even if port 6667 would normally be blocked to it.<br />
<br />
Both local and remote forwarding can be used to provide a secure "gateway," allowing other computers to take advantage of an SSH tunnel, without actually running SSH or the SSH daemon by providing a bind-address for the start of the tunnel as part of the forwarding specification, e.g. {{Ic|<tunnel address>:<tunnel port>:<destination address>:<destination port>}}. The {{Ic|<tunnel address>}} can be any address on the machine at the start of the tunnel, {{Ic|localhost}}, {{Ic|*}} (or blank), which, respectively, allow connections via the given address, via the loopback interface, or via any interface. By default, forwarding is limited to connections from the machine at the "beginning" of the tunnel, i.e. the {{Ic|<tunnel address>}} is set to {{Ic|localhost}}. Local forwarding requires no additional configuration, however remote forwarding is limited by the remote server's SSH daemon configuration. See the {{Ic|GatewayPorts}} option in {{Ic|sshd_config(5)}} for more information.<br />
<br />
=== تسريع ssh ===<br />
يُمكنك جعل جميع الجلسات الى الخادم نفسه تستخدم إتصالًا واحدًا، هذا يؤدي الى تسريع عملية الولوج، وذلك بإضافة السطور التالية تحت اسم المُضيف المُناسب في ملف {{ic|/etc/ssh/ssh_config}} :<br />
<div align=left dir=ltr><br />
ControlMaster auto<br />
ControlPath ~/.ssh/socket-%r@%h:%p<br />
</div><br />
<br />
تغيير خوارزمية التشفير المُستخدمة من قبل ssh تُساعد بشكل كبير على تحسين السرعة. في هذا المجال أفصل الخيارات هي arcfour و blowfish-cbc، رجاءً لا تقم بتغييرها إلا إذا كنت تعلم ما تفعله، لخوارزمية arcfour عدد من الجوانب الضعيفة. لإستخدمهم قم بتنفيذ التعليمة التالية :<br />
<br />
$ ssh -c arcfour,blowfish-cbc user@server-address<br />
لإستخدامها بشكل دائم، ضع هذا السطر تحت اسم المضيف المناسب في ملف {{ic|/etc/ssh/ssh_config}}:<br />
Ciphers arcfour,blowfish-cbc<br />
خيار آخر لكي تُحسن من سرعة SSH هو تفعيل خيار الضغط بإستخدام راية {{Ic|"C"}}. ولتفعيل هذه الميزة دومًا قم بإضافة السطر التالي تحت اسم المُضيف المُناسب في ملف {{ic|/etc/ssh/ssh_config}}:<br />
Compression yes<br />
الوقت الآزم لتسجيل الدخول يُمكن أن يُقلل بإستخدام الراية {{Ic|"4"}}، التي تقوم بتجاوز البحث ببروتوكول IPv6. يُمكن تفعيل هذه الميزة بشكل دائم عن طريق إضافة السطر التالي تحت اسم المُضيف المناسب في ملف {{ic|/etc/ssh/ssh_config}}:<br />
AddressFamily inet<br />
طريقة اخرى لتفعيل هذه الخيارات بشكل دائم هي إنشاء مكافئ في ملف {{ic|~/.bashrc}}:<br />
alias ssh='ssh -C4c arcfour,blowfish-cbc'<br />
<br />
=== وصل نظام ملفات خاص بحاسب بعيد عن طريق sshfs ===<br />
يرجى الرجوع الى مقال [[Sshfs]] لمعرفة المزيد حول وصل نظام الملفات خاص بحاسب بعيد -قابل للوصول عبر ssh- الى مجلد محلي. يمكنك القيام بأي تعليمة وبأي أداة على الملفات الموصولة (نسخ، إعداة تسمية، تعديل بمُحرر vim...الخ). استخدم sshfs عوضًا عن shfs (لم يتم إصدار نسخة جديدة منه منذ 2004 !).<br />
<br />
=== إبقاء الإتصال مفتوحًا ===<br />
جلسة ssh الخاصة بك سوف تقوم بتسجيل الخروج عندما لا يتم إستخدمها، لإبقاء الإتصال مفتوحًا قم بإضافة السطر التالي لأحد الملفين {{ic|~/.ssh/config}} أو {{ic|/etc/ssh/ssh_config}} في جهاز العميل :<br />
<div align=left dir=ltr><br />
ServerAliveInterval 120<br />
</div><br />
<br />
السطر السابق يقوم بإرسال إشارة "keep alive" كل 120 ثانية.<br />
<br />
وبشكل آخر يمكن إبقاء الإتصالات مفتوحة عن طريق تعيين القيمة 120 أو أي رقم آخر أكبر من 0 في ملف {{ic|/etc/ssh/sshd_config}} على الخادم، كالتالي :<br />
<div align=left dir=ltr><br />
ClientAliveInterval 120<br />
</div><br />
<br />
=== حفظ بيانات الإتصال في ملف إعدادات ssh ===<br />
عندما تقوم بالولوج الى خادم ssh، فإنك ستقوم بإدخال اسم المستخدم وعنوان الخادم على الأقل. إذا أردت توقير هذا الوقت; يمكنك استخدام الملف {{ic|$HOME/.ssh/config}} الخاص بك، أو الملف العام {{ic|/etc/ssh/ssh_config}} كما في المثال التالي :<br />
<div align=left dir=ltr><br />
{{hc|$HOME/.ssh/config|<br />
Host myserver<br />
HostName 123.123.123.123<br />
Port 12345<br />
User bob<br />
Host other_server<br />
HostName test.something.org<br />
User alice<br />
CheckHostIP no<br />
Cipher blowfish<br />
}}<br />
</div><br />
الآن يمكنك الإتصال بالخادم عن طريق الأمر التالي :<br />
<div align=left dir=ltr><br />
$ ssh myserver<br />
</div><br />
<br />
للإطلاع على القائمة الكاملة للخيارات التي تستطيع إستخدمها يمكنك الرجوع الى صفحة الدليل الخاصة بـ ssh_config أو مقال[http://www.openbsd.org/cgi-bin/man.cgi?query=ssh_config ssh_config documentation] الموجود في الموقع الرسمي.<br />
<br />
=== إعادة تشغيل جلسات و انفاق ssh تلقائيًا - Autossh ===<br />
عندما يتعذر إبقاء جلسة أو نفق ssh مفتوحًا (على سبيل المثال أوضاع الشبكة سيئة تؤدي الى إنقطاع الإتصال بخادم ssh...)، يمكنك إستخدام الحزمة Autossh لإعادة الإتصال تلقائيًاـ حزمة Autossh يمكن تنصيبها من المستودعات الرسمية.<br />
<br />
أمثلة عن طرق الإستخدام :<br />
<div align=left dir=ltr><br />
$ autossh -M 0 -o "ServerAliveInterval 45" -o "ServerAliveCountMax 2" username@example.com<br />
</div><br />
مدمجة مع خدمة [[ sshfs ]]:<br />
<div align=left dir=ltr><br />
$ sshfs -o reconnect,compression=yes,transform_symlinks,ServerAliveInterval=45,ServerAliveCountMax=2,ssh_command='autossh -M 0' username@example.com: /mnt/example <br />
</div><br />
الإتصال بواسطة وسيط SOCKS :<br />
<div align=left dir=ltr><br />
$ autossh -M 0 "ServerAliveInterval 45" -o "ServerAliveCountMax 2" -NCD 8080 username@example.com <br />
</div><br />
عند إستخدام الخيار -f، Autossh سيتم تشغيله كعملية في الخلفية، تشغيله بهذه الطريقة يعني أنظ لا تستطيع إدخال معلومات الإتصال بشكل تفاعلي.<br />
سيتم إنهاء الجلسة فقط عندما تتم كتابة exit أو عندما تتلقى Autossh إشارة SIGTERM, SIGINT , SIGKILL<br />
<br />
إذا أردت تشغيل autossh تلقائيًا، يُمكنك وبسهولة استخدام systemd، فعلى سبيل المثال يُمكنك إنشاء ملف واحدة خاص بخدمة systemd على الشكل التالي :<br />
<div align=left dir=ltr><br />
[Unit]<br />
Description=AutoSSH service for port 2222<br />
After=network.target<br />
<br />
[Service]<br />
ExecStart=/usr/bin/autossh -M 0 2222:localhost:2222 foo@bar.com<br />
</div><br />
ومن ثم قم بوضعها في ملف -وعلى سبيل المثال- /etc/systemd/system/system/autossh.service، بالطبع يُمكنك إنشاء ملف واحدة أكثر تعقيدًا إذا كان ذلك ضروريًا (يُمكنك الرجوع الى التوثيق الخاص بخدمة systemd لمزيد من التفاصيل)، وبكل تأكيد يُمكنك إستخدام الخيارات الخاصة بك في autossh.<br />
<br />
ومن ثم قم بتفعيل أنفاق autossh كالتالي :<br />
<div align=left dir=ltr><br />
$ systemctl start autossh<br />
</div><br />
(أو حسب ما قمُت بتسمية ملف الواحدة)<br />
<br />
من المُمكن أيضًا التعامل مع عدة عمليات autossh سويًا، وذلك لإبقاء الإتصال مفتوحًا في عدة أنفاق. عليك فقط إنشاء ملفات .service متعددة ذات أسماء مُختلفة.<br />
<br />
== إستكشاف الأخطاء وإصلاحها ==<br />
=== الإتصالات تُرفض أو تنتهي مدتها ===<br />
<br />
==== هل الراوتر لديك يقوم بتمرير المنافذ؟ ====<br />
<br />
قم بتجاوز هذه الخطوة إذا كنت خلف NAT modem/router. (على سبيل المثال VPS أو غيره). أغلب المنازل أو الشركات الصغيرة يكون لديها NAT modem/router.<br />
<br />
أو شيئ يجب التحقق منه هو أن الراوتر لديك يقوم بتمرير إتصالات ssh القادمة الى جهازك المحلي. عنوان IP الخارجي الذي تم إعطاؤه لك من قبل مزود خدمة الإنترنت، وهو نفس العنوان الذي يتم ربطه مع الطلبات الخاجية من قبل الراوتر لديك. لذا يجب على الراوتر أن يعلم أن إتصالات SSH القادمة يجب أن يتم تمريرها الى خدمة sshd في جهازك المحلي.<br />
<br />
قم بمعرفة عنوان ip الخاص بجهازك في الشبكة المحلية :<br />
<div align=left dir=ltr><br />
ip a<br />
</div><br />
قم بالبحث عن الحقل الخاص بقيمة inet. ومن ثم قم بالدخول الى لوحة الإعدادات الخاصة بالراوتر لديك مُستخدمًا عنوان IP الخاص به. قم بإخبار الراوتر لديك بأن يقوم بتمرير الإتصالات الى عنوان inet IP قم بزيارة موقع [http://portforward.com/] لمزيد من المعلومات حول كيفية تمرير المنافذ في الراوتر الخاص بك.<br />
<br />
==== هل خدمة ssh تعمل؟ ====<br />
<div align=left dir=ltr><br />
$ ss -tnlp<br />
</div><br />
إذا لم تُظهر التعليمة السابقة أن منفذ ssh مفتوح فإن خدمة ssh لا تعمل، قم بالتحقق من ملف {{ic|/var/log/messages}} للحصول على الأخطاء.<br />
<br />
==== هل يقوم الجدار الناري الخاص بك بحجب الإتصالات ؟ ====<br />
{{out of date|rc.d is deprecated with systemd}}<br />
Flush your iptables rules to make sure they are not interfering:<br />
<div align=left dir=ltr><br />
# rc.d stop iptables<br />
</div><br />
أو:<br />
<div align=left dir=ltr><br />
# iptables -P INPUT ACCEPT<br />
# iptables -P OUTPUT ACCEPT<br />
# iptables -F INPUT<br />
# iptables -F OUTPUT<br />
</div><br />
==== هل يصل الإتصال أساسًا الى جهازك؟ ====<br />
قم بعمل traffic dump في الجهاز الذي تواجه فيه المشاكل بإستخدام التعليمة التالية:<br />
<div align=left dir=ltr><br />
# tcpdump -lnn -i any port ssh and tcp-syn<br />
</div><br />
سيتم إظهار بعض المعلومات البسيطة، الآن قم بتجربة الإتصال. إذا لم تشاهد أي مخرجات خلال عملية الإتصال, فهذا يعني أن شيئاً ما خارج جهازك يمنع الإتصال (على بسيل المثال : جدار ناري خارجي أو NAT راوتر).<br />
<br />
==== هل يقوم مزود الخدمة الخاص بك أو أي جهة اخرى بحجب المنفذ الإفتراضي ؟ ====<br />
{{Note|قم بتجريب الخطوة التالية فقط إذا كنت '''متأكدًا''' من أنك لا تستخدم أي جدار ناري وقمت بإعداد الراوتر لديك إعدادًا صحيحًا وذلك بتمرير المنفذ الى جهازك المحلي.}}<br />
<br />
في بعض الحالات، يقوم مزود الخدمة الخاص بك بحجب المنفذ الإفتراضي 22 لذا مهما حاولت من طرق فهي لن تُجدي نفعًا.<br />
<br />
إذا واجهتك رسالة شبيهة بالرسالة التالية :<br />
<div align=left dir=ltr><br />
ssh: connect to host www.inet.hr port 22: Connection refused<br />
</div><br />
فهذا لا يعني أن المنفذ قم تم حجبه من قبل مزود الخدمة، بل أن الخادم لا يُشغل خدمة SSH على هذا المنفذ(راجع [http://en.wikipedia.org/wiki/Security_through_obscurity security through obscurity]).<br />
<br />
أما إذا واجهت رسالة كالرسالة التالية :<br />
<div align=left dir=ltr><br />
ssh: connect to host 111.222.333.444 port 22: Operation timed out <br />
</div><br />
هذا يعني أن هنالك شيئ يمنع إتصال TCP على المنفذ 22. إذا كنت متأكدًا تمامًا من الإعداد الصحيح للجدار الناري و/أو الراوتر، فإن ذلك يعني أن المنفذ محجوب من قبل مزود الخدمة.<br />
لزيادة التحقق، قم بتشغيل Wireshark على الخادم وقم بمراقبة المرور على المنفذ 22. بعد إعداده أن لم تحصل على أي مخرجات بينما تحاول الإتصال فهذا يعني ان جهة خارجية تقوم بحجب الإتصال.<br />
<br />
===== التحقق بإستخدام Wireshark =====<br />
قم بتنصيب Wireshark عن طريق الحزمة {{Pkg|wireshark-cli}}، الموجودة في المستودعات الرسمية.<br />
<br />
ومن ثم قم بتشغيلها مُستخدمًا التعليمة التالية:<br />
tshark -f "tcp port 22" -i NET_IF<br />
<br />
حيث NET_IF هو واجهة الشبكة لإتصال WAN. إذا لم تتلقى أي حزم إتصال عندما تحاول الإتصال عن بعد، فيمكنك التاكد تمامًا أن مزود الخدمة لديك يحجب المنفذ 22.<br />
<br />
===== حل هذه المشكلة =====<br />
الحل هو إستخدام منفذ آخر لا يقوم مزود الخدمة لديك بحجبه. قم بفتح ملف {{ic|/etc/ssh/sshd_config}} وضبط الإعدادات فيه لإستخدام منفذ آخر. على سبيل المثال قم بإضاة التالي :<br />
<br />
Port 22<br />
Port 1234<br />
<br />
أيضًا تاكد من أن الأسطر التي يوجد فيها إعدادت بقية المنافذ. عند إضافة "Port 1234" وحذف "Port 22" سيجعل خدمة sshd تقبل الإتصالات من المنفذ 1234 فقط. لذا قم بإستخدام كلا المنفذين.<br />
<br />
قم بإعادة تشغيل الخدمة عن طريق الأمر {{ic|systemctl restart sshd.service}}. ولم يبقى عليك سوى إعداد العميل لديك ليستخدم المنفذ الجديد بدلًا من المنفذ الإفتراضي.<br />
<br />
==== مشكلة Read from socket failed: connection reset by peer ====<br />
الإصدارات التي اطلقت مؤخرًا من openssh تفشل في بعض الأحيان مخرجةً رسالة خطأ كالرسالة السابقة بسبب وجود علّة في خاصية التشفير فيها. في هذه الحالة قم بإضافة السطر التالي الى ملف {{ic|~/.ssh/config}}:<br />
<br />
HostKeyAlgorithms ssh-rsa-cert-v01@openssh.com,ssh-dss-cert-v01@openssh.com,ssh-rsa-cert-v00@openssh.com,ssh-dss-cert-v00@openssh.com,ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,ssh-rsa,ssh-dss<br />
<br />
في إصدار openssh 5.9 السطر السابق لا يقوم بحل المشكلة. لذا قم بوضع السطور التالية في ملف {{ic|~/.ssh/config}}:<br />
<br />
Ciphers aes128-ctr,aes192-ctr,aes256-ctr,aes128-cbc,3des-cbc <br />
MACs hmac-md5,hmac-sha1,hmac-ripemd160<br />
<br />
راجع أيضًا [http://www.gossamer-threads.com/lists/openssh/dev/51339 discussion] في مركز علل openssh<br />
<br />
=== "[الصدفة التي تستخدمها]: No such file or directory" ===<br />
مسبب من مسببات هذه المشكلة هو أن بعض عملاء SSH يحتاجون الى معرفة المسار المطلق عن طريق الأمر {{Ic|whereis -b [your shell]}}، وحتى لوكان الملف التنفيئي للصدفة موجود في {{Ic|$PATH}}. سبب آخر هو أن المستخدم ليس عضوًا في مجموعة ''network''.<br />
<br />
===ظهور رسالة الخطأ "Terminal unknown" أو "Error opening terminal"===<br />
من الممكن عند إستخدام ssh الحصول على أخطاء من من قبيل "Terminal unknown" عندما تحاول تسجيل الدخول. بدء بعض التطبيقات كتطبيق nano يفشل مُظهرًا الرسالة "Error opening terminal". يوجد طريقتين لحل المشاكل من هذا النوع، الطريقة السلهة هي إستخدام المُتغير $TERM، أو باستخدام ملف terminfo.<br />
<br />
====الحل بواسطة المتغير $TERM====<br />
بعد الإتصال الى الخادم، قم بتحديد قيمة المتغير $TERM الى "xterm" مُستخدمًا التعليمة التالية :<br />
<div align=left dir=ltr><br />
{{ic|TERM&#61;xterm}}<br />
</div><br />
هذا الحل يحوي على بعض المشاكل الجانبية. ويتوجب عليك أيضًا أن تقوم بتكرار هذه التعليمة كل مرة تقوم فيها بتسجيل الدخول الى الخادم. أو بشكل بديل يمكنك وضعها في ملف ~.bashrc .<br />
====الحل بإستخدام ملف terminfo====<br />
حل آخر هو نقل ملف terminfo من جهازك المحلي الى الخادم. في هذا المثال سنقوم بشرح كيفية تهيئة ملف terminfo من أجل طرفية من نوع "rxvt-unicode-256color".<br />
قم بإنشاء مجلد يحوي على ملفات terminfo في خادم ssh، عندما تقوم بتسجيل الدخول الى الخادم قم بإستخدام هذه التعليمة :<br />
<div align=left dir=ltr><br />
<br />
{{ic| mkdir -p ~/.terminfo/r/}}<br />
<br />
</div><br />
<br />
الآن قم بنسخ ملف terminfo الخاص بالطرفيتك الى المجلد الجديد. مُستبدلًا ''"rxvt-unicode-256color"'' بالطرفية الخاصة بك في التعليمة التالية و ''ssh-server'' بإسم المستخدم وعنوان الخادم الخاصين بك<br />
<br />
<div align=left dir=ltr><br />
{{ic|$ scp /usr/share/terminfo/r/''rxvt-unicode-256color'' ssh-server:~/.terminfo/r/}}<br />
<br />
</div><br />
بعدما تقوم بتسجيل الخروج ومن ثم تسجيل الدخول مُجددًا، تكون المشكلة قد حُلّت.<br />
<br />
== شاهد أيضًا ==<br />
*[[SSH keys]]<br />
*[[Pam abl]]<br />
*[[fail2ban]]<br />
*[[sshguard]]<br />
*[[Sshfs]]<br />
*[[Syslog-ng]] : لإرسال log الخاص بـ ssh الى ملف<br />
<br />
== Links & references ==<br />
*[http://www.soloport.com/iptables.html A Cure for the Common SSH Login Attack]<br />
*[http://www.la-samhna.de/library/brutessh.html Defending against brute force ssh attacks]<br />
*[http://www.ibm.com/developerworks/library/l-keyc/index.html OpenSSH key management, Part 1] and [http://www.ibm.com/developerworks/library/l-keyc2 Part 2] on IBM developerWorks<br />
</div></div>Abd allatifhttps://wiki.archlinux.org/index.php?title=Template;Ltr&diff=280691Template;Ltr2013-10-31T13:34:26Z<p>Abd allatif: </p>
<hr />
<div><noinclude><br />
'''Make Code Direction from Left To Right.'''<br />
for arabic pages, which is the direction of writing is from right to left.<br />
==Usage==<br />
{{bc|<nowiki>{{ltr|code}}</nowiki>}}<br />
you can use multi line code.<br />
==Example==<br />
example form an arabic page:<br />
<div style="text-align: right; direction:rtl;margin-right:30px;"><br />
لعرض المحليّات المُستخدَمة حاليًّا، استخدم:<br />
{{ltr|<br />
$ locale<br />
}}<br />
يمكن لهذا أن يكون مثال ضبط متقدّم:<br />
{{ltr|<br />
{{hc|/etc/locale.conf|2=<br />
# Enable UTF-8 with Australian settings.<br />
LANG="en_AU.UTF-8"<br />
<br />
# Keep the default sort order (e.g. files starting with a '.'<br />
# should appear at the start of a directory listing.)<br />
LC_COLLATE="C"<br />
<br />
# Set the short date to YYYY-MM-DD (test with "date +%c")<br />
LC_TIME="en_DK.UTF-8"}}<br />
}}</div></noinclude><includeonly><div align=left dir=ltr>{{bc|{{{1}}}}}</div></includeonly></div>Abd allatifhttps://wiki.archlinux.org/index.php?title=Template;Ltr&diff=280690Template;Ltr2013-10-31T13:33:42Z<p>Abd allatif: </p>
<hr />
<div><noinclude><br />
'''Make Code Direction from Left To Right.'''<br />
for arabic pages, which is the direction of writing is from right to left.<br />
==Usage==<br />
{{bc|<nowiki>{{ltr|code}}</nowiki>}}<br />
you can use multi line code.<br />
==Example==<br />
example form an arabic page:<br />
<div style="text-align: right; direction:rtl;margin-right:30px;"><br />
لعرض المحليّات المُستخدَمة حاليًّا، استخدم:<br />
{{ltr|<br />
$ locale<br />
}}<br />
يمكن لهذا أن يكون مثال ضبط متقدّم:<br />
{{ltr|<br />
{{hc|/etc/locale.conf|2=<br />
# Enable UTF-8 with Australian settings.<br />
LANG="en_AU.UTF-8"<br />
<br />
# Keep the default sort order (e.g. files starting with a '.'<br />
# should appear at the start of a directory listing.)<br />
LC_COLLATE="C"<br />
<br />
# Set the short date to YYYY-MM-DD (test with "date +%c")<br />
LC_TIME="en_DK.UTF-8"}}<br />
}}</div></noinclude><includeonly><div align=left dir=ltr>{{{1}}}</div></includeonly></div>Abd allatifhttps://wiki.archlinux.org/index.php?title=Template;Ltr&diff=280685Template;Ltr2013-10-31T13:25:02Z<p>Abd allatif: </p>
<hr />
<div><noinclude><br />
'''Make Code Direction from Left To Right.'''<br />
for arabic pages, which is the direction of writing is from right to left.<br />
==Usage==<br />
{{bc|<nowiki>{{ltr|code}}</nowiki>}}<br />
you can use multi line code.<br />
==Example==<br />
example form an arabic page:<br />
<div style="text-align: right; direction:rtl;margin-right:30px;"><br />
لعرض المحليّات المُستخدَمة حاليًّا، استخدم:<br />
{{ltr|<br />
$ locale<br />
}}<br />
يمكن لهذا أن يكون مثال ضبط متقدّم:<br />
{{ltr|<br />
{{hc|/etc/locale.conf|2=<br />
# Enable UTF-8 with Australian settings.<br />
LANG="en_AU.UTF-8"<br />
<br />
# Keep the default sort order (e.g. files starting with a '.'<br />
# should appear at the start of a directory listing.)<br />
LC_COLLATE="C"<br />
<br />
# Set the short date to YYYY-MM-DD (test with "date +%c")<br />
LC_TIME="en_DK.UTF-8"}}<br />
}}</div></noinclude><includeonly><div align=left dir=ltr><pre&lt;noinclude&gt;&lt;/noinclude&gt;>{{{1}}}</pre&lt;noinclude&gt;&lt;/noinclude&gt;></div></includeonly></div>Abd allatifhttps://wiki.archlinux.org/index.php?title=Template;Ltr&diff=280684Template;Ltr2013-10-31T13:24:38Z<p>Abd allatif: </p>
<hr />
<div><noinclude><br />
'''Make Code Direction from Left To Right.'''<br />
for arabic pages, which is the direction of writing is from right to left.<br />
==Usage==<br />
{{bc|<nowiki>{{ltr|code}}</nowiki>}}<br />
you can use multi line code.<br />
==Example==<br />
example form an arabic page:<br />
<div style="text-align: right; direction:rtl;margin-right:30px;"><br />
لعرض المحليّات المُستخدَمة حاليًّا، استخدم:<br />
{{ltr|<br />
$ locale<br />
}}<br />
يمكن لهذا أن يكون مثال ضبط متقدّم:<br />
{{ltr|<br />
{{hc|/etc/locale.conf|2=<br />
# Enable UTF-8 with Australian settings.<br />
LANG="en_AU.UTF-8"<br />
<br />
# Keep the default sort order (e.g. files starting with a '.'<br />
# should appear at the start of a directory listing.)<br />
LC_COLLATE="C"<br />
<br />
# Set the short date to YYYY-MM-DD (test with "date +%c")<br />
LC_TIME="en_DK.UTF-8"}}<br />
}}</div></noinclude><includeonly><pre&lt;noinclude&gt;&lt;/noinclude&gt;><div align=left dir=ltr>{{{1}}}</div></pre&lt;noinclude&gt;&lt;/noinclude&gt;></includeonly></div>Abd allatifhttps://wiki.archlinux.org/index.php?title=Template;Ltr&diff=280683Template;Ltr2013-10-31T13:23:48Z<p>Abd allatif: </p>
<hr />
<div><noinclude><br />
'''Make Code Direction from Left To Right.'''<br />
for arabic pages, which is the direction of writing is from right to left.<br />
==Usage==<br />
{{bc|<nowiki>{{ltr|code}}</nowiki>}}<br />
you can use multi line code.<br />
==Example==<br />
example form an arabic page:<br />
<div style="text-align: right; direction:rtl;margin-right:30px;"><br />
لعرض المحليّات المُستخدَمة حاليًّا، استخدم:<br />
{{ltr|<br />
$ locale<br />
}}<br />
يمكن لهذا أن يكون مثال ضبط متقدّم:<br />
{{ltr|<br />
{{hc|/etc/locale.conf|2=<br />
# Enable UTF-8 with Australian settings.<br />
LANG="en_AU.UTF-8"<br />
<br />
# Keep the default sort order (e.g. files starting with a '.'<br />
# should appear at the start of a directory listing.)<br />
LC_COLLATE="C"<br />
<br />
# Set the short date to YYYY-MM-DD (test with "date +%c")<br />
LC_TIME="en_DK.UTF-8"}}<br />
}}</div></noinclude><includeonly><div align=left dir=ltr><pre>{{{1}}}</pre></div></includeonly></div>Abd allatifhttps://wiki.archlinux.org/index.php?title=Locale_(%D8%A7%D9%84%D8%B9%D8%B1%D8%A8%D9%8A%D8%A9)&diff=280669Locale (العربية)2013-10-31T13:04:11Z<p>Abd allatif: </p>
<hr />
<div>[[Category:العربية]]<br />
[[cs:Locale]]<br />
[[de:Locale]]<br />
[[es:Locale]]<br />
[[en:Locale]]<br />
[[fr:Locale]]<br />
[[it:Locale]]<br />
[[ja:Locale]]<br />
[[ko:Locale]]<br />
[[nl:Locale]]<br />
[[ru:Locale]]<br />
[[uk:Locale]]<br />
[[zh-CN:Locale]]<br />
<div style="text-align: right; direction:rtl;margin-right:30px;"><br />
تُستخدم المحليّات في لينكس لتعريف لغات المستخدم. بما أن المحليّات تعرّف أطقم المحارف المُستخدمة، إعداد المحليّة الصحيحة مهمّ، خاصةً إن كانت اللغة تحوي محارف ليست ASCII.<br />
تُعرّف أسماء المحليّات بالتنسيق التالي:<br />
{{Ltr|<lang>_<territory>.<codeset>[@<modifiers>]}}<br />
==تمكين المحليّات الضرورية==<br />
قبل أن تُستخدم محليّة على النظام، يجب تمكينها أولًا. لفرز كل المحليّات المتوفرة، استخدم:<br />
<div align=left dir=ltr><br />
$ locale -a<br />
</div><br />
لتمكين محليّة، أزل التعليق عن اسم المحليّة في الملف {{ic|/etc/locale.gen}}. يحوي هذا الملف كل المحليّات المتوفّرة التي يمكن للنظام استخدامها. اعكس العملية لتعطيل محليّة. بعد تمكين المحليّات الضرورية، يجب أن يُحدّث النظام بالمحليّات الجديدة:<br />
<div align=left dir=ltr><br />
# locale-gen<br />
</div><br />
لعرض المحليّات المُستخدَمة حاليًّا، استخدم:<br />
<div align=left dir=ltr><br />
$ locale<br />
</div><br />
<br />
{{tip|رغم أنه على الأرجح ستُستخدم لغة واحدة على الحاسوب، سيكون من المفيد بل وقد يكون ضروريًّا تمكين محليّات أخرى كذلك. إن كنت تشغّل نظامًا بعدّة مستخدمين، وبعضهم لا يتحدّثون en_US، يجب على الأقل دعم محليّتهم الوحيدة في النظام.}}<br />
<br />
===مثال الإنجليزية الأمريكية===<br />
<br />
أولًا أزل التعليق عن المحليّات التالية في {{ic|/etc/locale.gen}}:<br />
<div align=left dir=ltr><br />
en_US.UTF-8 UTF-8<br />
</div><br />
<br />
ثمّ حدّث النظام وأنت جذر:<br />
<div align=left dir=ltr><br />
# locale-gen<br />
</div><br />
<br />
==تعيين المحليّة على مستوى النظام==<br />
لتعريف المحليّة المستخدمة على مستوى النظام، عيّن {{ic|LANG}} في {{ic|/etc/locale.conf}}.<br />
<br />
{{ic|locale.conf}} يحوي قائمة مفصولة بأسطر جديدة لتعيينات متغيّر البيئة: بالإضافة إلى {{ic|LANG}}، فهو يدعم كل متغيّرات {{ic|LC_*}}، ما عدا {{ic|LC_ALL}}.<br />
<br />
{{ملاحظة|{{ic|/etc/locale.conf}} غير موجود افتراضيًّا ويجب إنشاءه يدويًّا .}}<br />
<br />
{{tip| إن كان مَخرج {{ic|locale}} is to your liking during installation, تستطيع توفير الوقت بعمل: {{ic| # locale > /etc/locale.conf}} وأنت chrooted.}}<br />
<br />
{{hc|/etc/locale.conf|2=<br />
LANG="en_US.UTF-8"}}<br />
<br />
يمكن لهذا أن يكون مثال ضبط متقدّم:<br />
<br />
{{hc|/etc/locale.conf|2=<br />
# Enable UTF-8 with Australian settings.<br />
LANG="en_AU.UTF-8"<br />
<br />
# Keep the default sort order (e.g. files starting with a '.'<br />
# should appear at the start of a directory listing.)<br />
LC_COLLATE="C"<br />
<br />
# Set the short date to YYYY-MM-DD (test with "date +%c")<br />
LC_TIME="en_DK.UTF-8"}}<br />
<br />
يمكنك تعيين المحليّة الافتراضية في {{ic|locale.conf}} أثناء استخدام {{ic|localectl}}، مثلًا:<br />
<br />
<div align=left dir=ltr><br />
# localectl set-locale LANG="de_DE.utf8"<br />
</div><br />
<br />
طالع {{ic|man 1 localectl}} و {{ic|man 5 locale.conf}} للتفاصيل.<br />
<br />
سيأخذون تأثيرهم بعد إعادة إقلاع النظام وسيُعيّنون كجلسات مفردة أثناء الولوج.<br />
<br />
==تعيين المحليّات البديلة==<br />
البرامج التي تستخدم gettext للترجمات تحترم الخيار {{Ic|LANGUAGE}} بالإضافة إلى المتغيّرات المعتادة. هذا يسمح للمستخدمين بتحديد [http://www.gnu.org/software/gettext/manual/gettext.html#The-LANGUAGE-variable قائمة] من المحليّات المُستخدمة بذلك الترتيب. إن لم تتوفّر ترجمة للمحليّة المفضّلة، ستُستخدم محليّة أخرى شبيهة بدلًا من الافتراضية. على سبيل المثالـ المستخدم الأسترالي قد يُبدِل إلى البريطانية بدلًا من الإنجليزية الأمريكية:<br />
{{hc|~/.bashrc|2=<br />
export LANGUAGE="en_AU:en_GB:en"<br />
}}<br />
أو على مستوى النظام<br />
{{hc|/etc/locale.conf|2=<br />
LANG="en_AU"<br />
LANGUAGE="en_AU:en_GB:en"<br />
}}<br />
<br />
==تعيين محليّة لكل مستخدم==<br />
كما ذكرنا سابقًا، بعض المستخدمين قد يعرّفون محليّة مختلفة عن المحليّة على مستوى النظام. لعمل ذلك، صدّر المتغيّر {{Ic|LANG}} بالمحليّة المعيّنة في الملف {{ic|~/.bashrc}}. كمثال، لاستخدام المحليّة {{Ic|en_AU.UTF-8}}:<br />
<div align=left dir=ltr><br />
export LANG=en_AU.UTF-8<br />
</div><br />
<br />
ستُحدّث المحليّات عند sourced {{ic|~/.bashrc}}. للتحديث، أمّا أعد الولوج أو source it يدويًّا:<br />
<div align=left dir=ltr><br />
$ source ~/.bashrc<br />
</div><br />
<br />
==تعيين الترتيب==<br />
الترتيب أو الفرز، يختلفان قليلًا. الفرز وحش أبله والمحليّات المختلفة تفعل الأشياء بطريقة مختلفة. للإلتفاف حول المشاكل المحتملة، تعيّن آرتش {{ic|1=LC_COLLATE="C"}} إلى {{ic|/etc/profile}}. على أيّ حال، هذه الطريقة أُهمِلت الآن. لتمكين هذا السلوك، ببساطة أضف التالي إلى {{ic|/etc/locale.conf}}:<br />
<div align=left dir=ltr><br />
LC_COLLATE="C"<br />
</div><br />
<br />
سيفرز الآن الأمر ls الملفات ذات النقاط أولًا، متبوعة بأسماء الملفات بأحرف كبيرة وصغيرة. لاحظ أنه دون الإعداد {{ic|LC_COLLATE}}، تقول المحليّة للتطبيقات بالفرز عبر {{ic|LC_ALL}} أو {{ic|LANG}}، لكن الإعدادات {{ic|LC_COLLATE}} ستُتَجاوز إن عُيّن {{ic|LC_ALL}}. إن كانت هذه مشكلة، تأكّد أن LC_ALL لم يُعيّن بإضافة التالي إلى {{ic|/etc/profile}} بدلًا منه:<br />
<div align=left dir=ltr><br />
export LC_ALL=<br />
</div><br />
لاحظ أن LC_ALL متغيّر LC الوحيد الذي "لا يمكن" تعيينه في {{ic|/etc/locale.conf}}.<br />
<br />
==تعيين اليوم الأول من الأسبوع==<br />
هناك العديد من الدول التي يكون فيها بداية الأسبوع يوم الإثنين. لضبط هذا، غيّر أو أضف الأسطر التالية في القسم {{ic|LC_TIME}} في {{ic|/usr/share/i18n/locales/<your_locale>}}:<br />
<br />
<div align=left dir=ltr><br />
week 7;19971130;5<br />
first_weekday 2<br />
first_workday 2<br />
</div><br />
<br />
وثمّ حدّث النظام:<br />
<br />
<div align=left dir=ltr><br />
# locale-gen<br />
</div><br />
<br />
{{Tip| إن واجهتك أنواع من المشاكل مع النظام وودت السؤال في المنتدى، القائمة البريدية أو غيرهما، فضلًا ضمّن المَخرج من المشكلة سيئة السلوك عبر {{ic|export LC_MESSAGES&#61;C}} قبل اللصق. ستعيِّن رسائل المَخرج (الأخطاء والتحذيرات) إلى الإنجليزية، وبالتالي فهم أناسٍ أكثر لمشكتك. لا يُطبّق ذلك إن كنت تلصق في منتدى بلغة غير الإنجليزية.}}<br />
<br />
==إصلاح المشاكل==<br />
===طرفيّتي لا تدعم UTF-8===<br />
للأسف بعض الطرفيات لا تدعم UTF-8. في هذه الحالة، عليك استخدام طرفية مختلفة. هذه بعض الطرفيات التي تدعم UTF-8:<br />
<br />
* vte-based terminals<br />
* gnustep-terminal<br />
* konsole<br />
* [[mlterm]]<br />
* [[rxvt-unicode]]<br />
* [[xterm]]<br />
<br />
====Xterm لا تدعم UTF-8====<br />
xterm تدعم UTF-8 فقط إن شُغِّل كـ {{Ic|uxterm}} أو {{Ic|xterm -u8}}.<br />
<br />
====طرفية جنوم أو rxvt-unicode لا تدعمان UTF-8====<br />
عليك إطلاق بعض التطبيقات من محليّة UTF-8 وإلّا ستُسقطا دعم UTF-8. مكّن المحليّة {{ic|en_US.UTF-8}} (أو بديل UTF-8 لديك) بالتعليمات أعلاه وعيّنها كمحليّة افتراضيّة، ثم أعد الإقلاع.<br />
<br />
==See also==<br />
* [http://www.gentoo.org/doc/en/guide-localization.xml Gentoo Linux Localization Guide]<br />
* [http://www.gentoo-wiki.info/Locales Gentoo Wiki Archives: Locales]<br />
* [http://demo.icu-project.org/icu-bin/locexp?_=en_US&x=col ICU's interactive collation testing]<br />
* [http://www.openi18n.org/ Free Standards Group Open Internationalisation Initiative]<br />
* [http://pubs.opengroup.org/onlinepubs/007908799/xbd/locale.html ''The Single UNIX Specification'' definition of Locale] by The Open Group<br />
* [https://help.ubuntu.com/community/EnvironmentVariables#Locale_setting_variables Locale environment variables]<br />
<div align=left dir=ltr><br />
<br />
</div></div>Abd allatifhttps://wiki.archlinux.org/index.php?title=Template;Ltr&diff=280668Template;Ltr2013-10-31T13:03:45Z<p>Abd allatif: </p>
<hr />
<div><noinclude><br />
'''Make Code Direction from Left To Right.'''<br />
for arabic pages, which is the direction of writing is from right to left.<br />
==Usage==<br />
{{bc|<nowiki>{{ltr|code}}</nowiki>}}<br />
you can use multi line code.<br />
==Example==<br />
example form an arabic page:<br />
<div style="text-align: right; direction:rtl;margin-right:30px;"><br />
لعرض المحليّات المُستخدَمة حاليًّا، استخدم:<br />
{{ltr|<br />
$ locale<br />
}}<br />
يمكن لهذا أن يكون مثال ضبط متقدّم:<br />
{{ltr|<br />
{{hc|/etc/locale.conf|2=<br />
# Enable UTF-8 with Australian settings.<br />
LANG="en_AU.UTF-8"<br />
<br />
# Keep the default sort order (e.g. files starting with a '.'<br />
# should appear at the start of a directory listing.)<br />
LC_COLLATE="C"<br />
<br />
# Set the short date to YYYY-MM-DD (test with "date +%c")<br />
LC_TIME="en_DK.UTF-8"}}<br />
}}</div></noinclude><includeonly><div align=left dir=ltr><pre&lt;noinclude&gt;&lt;/noinclude&gt;>{{{1}}}</pre&lt;noinclude&gt;&lt;/noinclude&gt;></div></includeonly></div>Abd allatifhttps://wiki.archlinux.org/index.php?title=Locale_(%D8%A7%D9%84%D8%B9%D8%B1%D8%A8%D9%8A%D8%A9)&diff=280667Locale (العربية)2013-10-31T13:02:06Z<p>Abd allatif: </p>
<hr />
<div>[[Category:العربية]]<br />
[[cs:Locale]]<br />
[[de:Locale]]<br />
[[es:Locale]]<br />
[[en:Locale]]<br />
[[fr:Locale]]<br />
[[it:Locale]]<br />
[[ja:Locale]]<br />
[[ko:Locale]]<br />
[[nl:Locale]]<br />
[[ru:Locale]]<br />
[[uk:Locale]]<br />
[[zh-CN:Locale]]<br />
<div style="text-align: right; direction:rtl;margin-right:30px;"><br />
تُستخدم المحليّات في لينكس لتعريف لغات المستخدم. بما أن المحليّات تعرّف أطقم المحارف المُستخدمة، إعداد المحليّة الصحيحة مهمّ، خاصةً إن كانت اللغة تحوي محارف ليست ASCII.<br />
تُعرّف أسماء المحليّات بالتنسيق التالي:<br />
{{Ltr| <lang>_<territory>.<codeset>[@<modifiers>]}}<br />
==تمكين المحليّات الضرورية==<br />
قبل أن تُستخدم محليّة على النظام، يجب تمكينها أولًا. لفرز كل المحليّات المتوفرة، استخدم:<br />
<div align=left dir=ltr><br />
$ locale -a<br />
</div><br />
لتمكين محليّة، أزل التعليق عن اسم المحليّة في الملف {{ic|/etc/locale.gen}}. يحوي هذا الملف كل المحليّات المتوفّرة التي يمكن للنظام استخدامها. اعكس العملية لتعطيل محليّة. بعد تمكين المحليّات الضرورية، يجب أن يُحدّث النظام بالمحليّات الجديدة:<br />
<div align=left dir=ltr><br />
# locale-gen<br />
</div><br />
لعرض المحليّات المُستخدَمة حاليًّا، استخدم:<br />
<div align=left dir=ltr><br />
$ locale<br />
</div><br />
<br />
{{tip|رغم أنه على الأرجح ستُستخدم لغة واحدة على الحاسوب، سيكون من المفيد بل وقد يكون ضروريًّا تمكين محليّات أخرى كذلك. إن كنت تشغّل نظامًا بعدّة مستخدمين، وبعضهم لا يتحدّثون en_US، يجب على الأقل دعم محليّتهم الوحيدة في النظام.}}<br />
<br />
===مثال الإنجليزية الأمريكية===<br />
<br />
أولًا أزل التعليق عن المحليّات التالية في {{ic|/etc/locale.gen}}:<br />
<div align=left dir=ltr><br />
en_US.UTF-8 UTF-8<br />
</div><br />
<br />
ثمّ حدّث النظام وأنت جذر:<br />
<div align=left dir=ltr><br />
# locale-gen<br />
</div><br />
<br />
==تعيين المحليّة على مستوى النظام==<br />
لتعريف المحليّة المستخدمة على مستوى النظام، عيّن {{ic|LANG}} في {{ic|/etc/locale.conf}}.<br />
<br />
{{ic|locale.conf}} يحوي قائمة مفصولة بأسطر جديدة لتعيينات متغيّر البيئة: بالإضافة إلى {{ic|LANG}}، فهو يدعم كل متغيّرات {{ic|LC_*}}، ما عدا {{ic|LC_ALL}}.<br />
<br />
{{ملاحظة|{{ic|/etc/locale.conf}} غير موجود افتراضيًّا ويجب إنشاءه يدويًّا .}}<br />
<br />
{{tip| إن كان مَخرج {{ic|locale}} is to your liking during installation, تستطيع توفير الوقت بعمل: {{ic| # locale > /etc/locale.conf}} وأنت chrooted.}}<br />
<br />
{{hc|/etc/locale.conf|2=<br />
LANG="en_US.UTF-8"}}<br />
<br />
يمكن لهذا أن يكون مثال ضبط متقدّم:<br />
<br />
{{hc|/etc/locale.conf|2=<br />
# Enable UTF-8 with Australian settings.<br />
LANG="en_AU.UTF-8"<br />
<br />
# Keep the default sort order (e.g. files starting with a '.'<br />
# should appear at the start of a directory listing.)<br />
LC_COLLATE="C"<br />
<br />
# Set the short date to YYYY-MM-DD (test with "date +%c")<br />
LC_TIME="en_DK.UTF-8"}}<br />
<br />
يمكنك تعيين المحليّة الافتراضية في {{ic|locale.conf}} أثناء استخدام {{ic|localectl}}، مثلًا:<br />
<br />
<div align=left dir=ltr><br />
# localectl set-locale LANG="de_DE.utf8"<br />
</div><br />
<br />
طالع {{ic|man 1 localectl}} و {{ic|man 5 locale.conf}} للتفاصيل.<br />
<br />
سيأخذون تأثيرهم بعد إعادة إقلاع النظام وسيُعيّنون كجلسات مفردة أثناء الولوج.<br />
<br />
==تعيين المحليّات البديلة==<br />
البرامج التي تستخدم gettext للترجمات تحترم الخيار {{Ic|LANGUAGE}} بالإضافة إلى المتغيّرات المعتادة. هذا يسمح للمستخدمين بتحديد [http://www.gnu.org/software/gettext/manual/gettext.html#The-LANGUAGE-variable قائمة] من المحليّات المُستخدمة بذلك الترتيب. إن لم تتوفّر ترجمة للمحليّة المفضّلة، ستُستخدم محليّة أخرى شبيهة بدلًا من الافتراضية. على سبيل المثالـ المستخدم الأسترالي قد يُبدِل إلى البريطانية بدلًا من الإنجليزية الأمريكية:<br />
{{hc|~/.bashrc|2=<br />
export LANGUAGE="en_AU:en_GB:en"<br />
}}<br />
أو على مستوى النظام<br />
{{hc|/etc/locale.conf|2=<br />
LANG="en_AU"<br />
LANGUAGE="en_AU:en_GB:en"<br />
}}<br />
<br />
==تعيين محليّة لكل مستخدم==<br />
كما ذكرنا سابقًا، بعض المستخدمين قد يعرّفون محليّة مختلفة عن المحليّة على مستوى النظام. لعمل ذلك، صدّر المتغيّر {{Ic|LANG}} بالمحليّة المعيّنة في الملف {{ic|~/.bashrc}}. كمثال، لاستخدام المحليّة {{Ic|en_AU.UTF-8}}:<br />
<div align=left dir=ltr><br />
export LANG=en_AU.UTF-8<br />
</div><br />
<br />
ستُحدّث المحليّات عند sourced {{ic|~/.bashrc}}. للتحديث، أمّا أعد الولوج أو source it يدويًّا:<br />
<div align=left dir=ltr><br />
$ source ~/.bashrc<br />
</div><br />
<br />
==تعيين الترتيب==<br />
الترتيب أو الفرز، يختلفان قليلًا. الفرز وحش أبله والمحليّات المختلفة تفعل الأشياء بطريقة مختلفة. للإلتفاف حول المشاكل المحتملة، تعيّن آرتش {{ic|1=LC_COLLATE="C"}} إلى {{ic|/etc/profile}}. على أيّ حال، هذه الطريقة أُهمِلت الآن. لتمكين هذا السلوك، ببساطة أضف التالي إلى {{ic|/etc/locale.conf}}:<br />
<div align=left dir=ltr><br />
LC_COLLATE="C"<br />
</div><br />
<br />
سيفرز الآن الأمر ls الملفات ذات النقاط أولًا، متبوعة بأسماء الملفات بأحرف كبيرة وصغيرة. لاحظ أنه دون الإعداد {{ic|LC_COLLATE}}، تقول المحليّة للتطبيقات بالفرز عبر {{ic|LC_ALL}} أو {{ic|LANG}}، لكن الإعدادات {{ic|LC_COLLATE}} ستُتَجاوز إن عُيّن {{ic|LC_ALL}}. إن كانت هذه مشكلة، تأكّد أن LC_ALL لم يُعيّن بإضافة التالي إلى {{ic|/etc/profile}} بدلًا منه:<br />
<div align=left dir=ltr><br />
export LC_ALL=<br />
</div><br />
لاحظ أن LC_ALL متغيّر LC الوحيد الذي "لا يمكن" تعيينه في {{ic|/etc/locale.conf}}.<br />
<br />
==تعيين اليوم الأول من الأسبوع==<br />
هناك العديد من الدول التي يكون فيها بداية الأسبوع يوم الإثنين. لضبط هذا، غيّر أو أضف الأسطر التالية في القسم {{ic|LC_TIME}} في {{ic|/usr/share/i18n/locales/<your_locale>}}:<br />
<br />
<div align=left dir=ltr><br />
week 7;19971130;5<br />
first_weekday 2<br />
first_workday 2<br />
</div><br />
<br />
وثمّ حدّث النظام:<br />
<br />
<div align=left dir=ltr><br />
# locale-gen<br />
</div><br />
<br />
{{Tip| إن واجهتك أنواع من المشاكل مع النظام وودت السؤال في المنتدى، القائمة البريدية أو غيرهما، فضلًا ضمّن المَخرج من المشكلة سيئة السلوك عبر {{ic|export LC_MESSAGES&#61;C}} قبل اللصق. ستعيِّن رسائل المَخرج (الأخطاء والتحذيرات) إلى الإنجليزية، وبالتالي فهم أناسٍ أكثر لمشكتك. لا يُطبّق ذلك إن كنت تلصق في منتدى بلغة غير الإنجليزية.}}<br />
<br />
==إصلاح المشاكل==<br />
===طرفيّتي لا تدعم UTF-8===<br />
للأسف بعض الطرفيات لا تدعم UTF-8. في هذه الحالة، عليك استخدام طرفية مختلفة. هذه بعض الطرفيات التي تدعم UTF-8:<br />
<br />
* vte-based terminals<br />
* gnustep-terminal<br />
* konsole<br />
* [[mlterm]]<br />
* [[rxvt-unicode]]<br />
* [[xterm]]<br />
<br />
====Xterm لا تدعم UTF-8====<br />
xterm تدعم UTF-8 فقط إن شُغِّل كـ {{Ic|uxterm}} أو {{Ic|xterm -u8}}.<br />
<br />
====طرفية جنوم أو rxvt-unicode لا تدعمان UTF-8====<br />
عليك إطلاق بعض التطبيقات من محليّة UTF-8 وإلّا ستُسقطا دعم UTF-8. مكّن المحليّة {{ic|en_US.UTF-8}} (أو بديل UTF-8 لديك) بالتعليمات أعلاه وعيّنها كمحليّة افتراضيّة، ثم أعد الإقلاع.<br />
<br />
==See also==<br />
* [http://www.gentoo.org/doc/en/guide-localization.xml Gentoo Linux Localization Guide]<br />
* [http://www.gentoo-wiki.info/Locales Gentoo Wiki Archives: Locales]<br />
* [http://demo.icu-project.org/icu-bin/locexp?_=en_US&x=col ICU's interactive collation testing]<br />
* [http://www.openi18n.org/ Free Standards Group Open Internationalisation Initiative]<br />
* [http://pubs.opengroup.org/onlinepubs/007908799/xbd/locale.html ''The Single UNIX Specification'' definition of Locale] by The Open Group<br />
* [https://help.ubuntu.com/community/EnvironmentVariables#Locale_setting_variables Locale environment variables]<br />
<div align=left dir=ltr><br />
<br />
</div></div>Abd allatifhttps://wiki.archlinux.org/index.php?title=Template:Sandbox&diff=280666Template:Sandbox2013-10-31T13:01:44Z<p>Abd allatif: </p>
<hr />
<div><noinclude>{{Template}}</noinclude><includeonly>{{{2|The daemon can be managed}}} with the unit {{ic|{{{1}}}}} [[systemd#Using units|using systemd]].</includeonly></div>Abd allatifhttps://wiki.archlinux.org/index.php?title=Template;Ltr&diff=280663Template;Ltr2013-10-31T13:00:53Z<p>Abd allatif: </p>
<hr />
<div><noinclude><br />
'''Make Code Direction from Left To Right.'''<br />
for arabic pages, which is the direction of writing is from right to left.<br />
==Usage==<br />
{{bc|<nowiki>{{ltr|code}}</nowiki>}}<br />
you can use multi line code.<br />
==Example==<br />
example form an arabic page:<br />
<div style="text-align: right; direction:rtl;margin-right:30px;"><br />
لعرض المحليّات المُستخدَمة حاليًّا، استخدم:<br />
{{ltr|<br />
$ locale<br />
}}<br />
يمكن لهذا أن يكون مثال ضبط متقدّم:<br />
{{ltr|<br />
{{hc|/etc/locale.conf|2=<br />
# Enable UTF-8 with Australian settings.<br />
LANG="en_AU.UTF-8"<br />
<br />
# Keep the default sort order (e.g. files starting with a '.'<br />
# should appear at the start of a directory listing.)<br />
LC_COLLATE="C"<br />
<br />
# Set the short date to YYYY-MM-DD (test with "date +%c")<br />
LC_TIME="en_DK.UTF-8"}}<br />
}}</div></noinclude><includeonly><div align=left dir=ltr>{{{1}}}</div></includeonly></div>Abd allatifhttps://wiki.archlinux.org/index.php?title=Template;Ltr&diff=280662Template;Ltr2013-10-31T12:59:58Z<p>Abd allatif: </p>
<hr />
<div><br />
<noinclude><br />
'''Make Code Direction from Left To Right.'''<br />
for arabic pages, which is the direction of writing is from right to left.<br />
==Usage==<br />
{{bc|<nowiki>{{ltr|code}}</nowiki>}}<br />
you can use multi line code.<br />
==Example==<br />
example form an arabic page:<br />
<div style="text-align: right; direction:rtl;margin-right:30px;"><br />
لعرض المحليّات المُستخدَمة حاليًّا، استخدم:<br />
{{ltr|<br />
$ locale<br />
}}<br />
</div><br />
or another one:<br />
<div style="text-align: right; direction:rtl;margin-right:30px;"><br />
يمكن لهذا أن يكون مثال ضبط متقدّم:<br />
{{ltr|<br />
{{hc|/etc/locale.conf|2=<br />
# Enable UTF-8 with Australian settings.<br />
LANG="en_AU.UTF-8"<br />
<br />
# Keep the default sort order (e.g. files starting with a '.'<br />
# should appear at the start of a directory listing.)<br />
LC_COLLATE="C"<br />
<br />
# Set the short date to YYYY-MM-DD (test with "date +%c")<br />
LC_TIME="en_DK.UTF-8"}}<br />
}}</div></noinclude><includeonly><div align=left dir=ltr>{{{1}}}</div></includeonly></div>Abd allatifhttps://wiki.archlinux.org/index.php?title=Template;Ltr&diff=280658Template;Ltr2013-10-31T12:55:21Z<p>Abd allatif: </p>
<hr />
<div><div style="text-align: right; direction:rtl;margin-right:30px;"><br />
<noinclude><br />
'''Make Code Direction from Left To Right.'''<br />
<br />
==Usage==<br />
<br />
==Example==<br />
<br />
{{ltr|<br />
{{hc|/etc/locale.conf|2=<br />
# Enable UTF-8 with Australian settings.<br />
LANG="en_AU.UTF-8"<br />
<br />
# Keep the default sort order (e.g. files starting with a '.'<br />
# should appear at the start of a directory listing.)<br />
LC_COLLATE="C"<br />
<br />
# Set the short date to YYYY-MM-DD (test with "date +%c")<br />
LC_TIME="en_DK.UTF-8"}}<br />
}}</div></noinclude><includeonly><div align=left dir=ltr>{{{1}}}</div></includeonly></div>Abd allatifhttps://wiki.archlinux.org/index.php?title=Template;Ltr&diff=280657Template;Ltr2013-10-31T12:54:35Z<p>Abd allatif: </p>
<hr />
<div><div style="text-align: right; direction:rtl;margin-right:30px;"><br />
<noinclude><br />
{{Template}}<br />
'''Make Code Direction from Left To Right.'''<br />
<br />
{{Template|code}}<br />
==Usage==<br />
<br />
==Example==<br />
<br />
{{ltr|<br />
{{hc|/etc/locale.conf|2=<br />
# Enable UTF-8 with Australian settings.<br />
LANG="en_AU.UTF-8"<br />
<br />
# Keep the default sort order (e.g. files starting with a '.'<br />
# should appear at the start of a directory listing.)<br />
LC_COLLATE="C"<br />
<br />
# Set the short date to YYYY-MM-DD (test with "date +%c")<br />
LC_TIME="en_DK.UTF-8"}}<br />
}}</div></noinclude><includeonly><div align=left dir=ltr>{{{1}}}</div></includeonly></div>Abd allatifhttps://wiki.archlinux.org/index.php?title=Template;Ltr&diff=280655Template;Ltr2013-10-31T12:53:41Z<p>Abd allatif: Created page with "<div style="text-align: right; direction:rtl;margin-right:30px;"> <noinclude> {{Template}} '''Make Code Direction from Left To Right.''' {{Template|code}} ==Usage== ==Exampl..."</p>
<hr />
<div><div style="text-align: right; direction:rtl;margin-right:30px;"><br />
<noinclude><br />
{{Template}}<br />
'''Make Code Direction from Left To Right.'''<br />
<br />
{{Template|code}}<br />
==Usage==<br />
<br />
==Example==<br />
<br />
{{ltr|<br />
{{hc|/etc/locale.conf|2=<br />
# Enable UTF-8 with Australian settings.<br />
LANG="en_AU.UTF-8"<br />
<br />
# Keep the default sort order (e.g. files starting with a '.'<br />
# should appear at the start of a directory listing.)<br />
LC_COLLATE="C"<br />
<br />
# Set the short date to YYYY-MM-DD (test with "date +%c")<br />
LC_TIME="en_DK.UTF-8"}}<br />
}}</noinclude><includeonly><div align=left dir=ltr>{{{1}}}</div></includeonly><br />
</div></div>Abd allatifhttps://wiki.archlinux.org/index.php?title=Locale_(%D8%A7%D9%84%D8%B9%D8%B1%D8%A8%D9%8A%D8%A9)&diff=280651Locale (العربية)2013-10-31T12:51:53Z<p>Abd allatif: </p>
<hr />
<div>[[Category:العربية]]<br />
[[cs:Locale]]<br />
[[de:Locale]]<br />
[[es:Locale]]<br />
[[en:Locale]]<br />
[[fr:Locale]]<br />
[[it:Locale]]<br />
[[ja:Locale]]<br />
[[ko:Locale]]<br />
[[nl:Locale]]<br />
[[ru:Locale]]<br />
[[uk:Locale]]<br />
[[zh-CN:Locale]]<br />
<div style="text-align: right; direction:rtl;margin-right:30px;"><br />
تُستخدم المحليّات في لينكس لتعريف لغات المستخدم. بما أن المحليّات تعرّف أطقم المحارف المُستخدمة، إعداد المحليّة الصحيحة مهمّ، خاصةً إن كانت اللغة تحوي محارف ليست ASCII.<br />
تُعرّف أسماء المحليّات بالتنسيق التالي:<br />
<div align=left dir=ltr><br />
<lang>_<territory>.<codeset>[@<modifiers>]<br />
</div><br />
==تمكين المحليّات الضرورية==<br />
قبل أن تُستخدم محليّة على النظام، يجب تمكينها أولًا. لفرز كل المحليّات المتوفرة، استخدم:<br />
<div align=left dir=ltr><br />
$ locale -a<br />
</div><br />
لتمكين محليّة، أزل التعليق عن اسم المحليّة في الملف {{ic|/etc/locale.gen}}. يحوي هذا الملف كل المحليّات المتوفّرة التي يمكن للنظام استخدامها. اعكس العملية لتعطيل محليّة. بعد تمكين المحليّات الضرورية، يجب أن يُحدّث النظام بالمحليّات الجديدة:<br />
{{Sandbox|<br />
safasafa<br />
}}<br />
<div align=left dir=ltr><br />
# locale-gen<br />
</div><br />
لعرض المحليّات المُستخدَمة حاليًّا، استخدم:<br />
<div align=left dir=ltr><br />
$ locale<br />
</div><br />
<br />
{{tip|رغم أنه على الأرجح ستُستخدم لغة واحدة على الحاسوب، سيكون من المفيد بل وقد يكون ضروريًّا تمكين محليّات أخرى كذلك. إن كنت تشغّل نظامًا بعدّة مستخدمين، وبعضهم لا يتحدّثون en_US، يجب على الأقل دعم محليّتهم الوحيدة في النظام.}}<br />
<br />
===مثال الإنجليزية الأمريكية===<br />
<br />
أولًا أزل التعليق عن المحليّات التالية في {{ic|/etc/locale.gen}}:<br />
<div align=left dir=ltr><br />
en_US.UTF-8 UTF-8<br />
</div><br />
<br />
ثمّ حدّث النظام وأنت جذر:<br />
<div align=left dir=ltr><br />
# locale-gen<br />
</div><br />
<br />
==تعيين المحليّة على مستوى النظام==<br />
لتعريف المحليّة المستخدمة على مستوى النظام، عيّن {{ic|LANG}} في {{ic|/etc/locale.conf}}.<br />
<br />
{{ic|locale.conf}} يحوي قائمة مفصولة بأسطر جديدة لتعيينات متغيّر البيئة: بالإضافة إلى {{ic|LANG}}، فهو يدعم كل متغيّرات {{ic|LC_*}}، ما عدا {{ic|LC_ALL}}.<br />
<br />
{{ملاحظة|{{ic|/etc/locale.conf}} غير موجود افتراضيًّا ويجب إنشاءه يدويًّا .}}<br />
<br />
{{tip| إن كان مَخرج {{ic|locale}} is to your liking during installation, تستطيع توفير الوقت بعمل: {{ic| # locale > /etc/locale.conf}} وأنت chrooted.}}<br />
<br />
{{hc|/etc/locale.conf|2=<br />
LANG="en_US.UTF-8"}}<br />
<br />
يمكن لهذا أن يكون مثال ضبط متقدّم:<br />
<br />
{{hc|/etc/locale.conf|2=<br />
# Enable UTF-8 with Australian settings.<br />
LANG="en_AU.UTF-8"<br />
<br />
# Keep the default sort order (e.g. files starting with a '.'<br />
# should appear at the start of a directory listing.)<br />
LC_COLLATE="C"<br />
<br />
# Set the short date to YYYY-MM-DD (test with "date +%c")<br />
LC_TIME="en_DK.UTF-8"}}<br />
<br />
يمكنك تعيين المحليّة الافتراضية في {{ic|locale.conf}} أثناء استخدام {{ic|localectl}}، مثلًا:<br />
<br />
<div align=left dir=ltr><br />
# localectl set-locale LANG="de_DE.utf8"<br />
</div><br />
<br />
طالع {{ic|man 1 localectl}} و {{ic|man 5 locale.conf}} للتفاصيل.<br />
<br />
سيأخذون تأثيرهم بعد إعادة إقلاع النظام وسيُعيّنون كجلسات مفردة أثناء الولوج.<br />
<br />
==تعيين المحليّات البديلة==<br />
البرامج التي تستخدم gettext للترجمات تحترم الخيار {{Ic|LANGUAGE}} بالإضافة إلى المتغيّرات المعتادة. هذا يسمح للمستخدمين بتحديد [http://www.gnu.org/software/gettext/manual/gettext.html#The-LANGUAGE-variable قائمة] من المحليّات المُستخدمة بذلك الترتيب. إن لم تتوفّر ترجمة للمحليّة المفضّلة، ستُستخدم محليّة أخرى شبيهة بدلًا من الافتراضية. على سبيل المثالـ المستخدم الأسترالي قد يُبدِل إلى البريطانية بدلًا من الإنجليزية الأمريكية:<br />
{{hc|~/.bashrc|2=<br />
export LANGUAGE="en_AU:en_GB:en"<br />
}}<br />
أو على مستوى النظام<br />
{{hc|/etc/locale.conf|2=<br />
LANG="en_AU"<br />
LANGUAGE="en_AU:en_GB:en"<br />
}}<br />
<br />
==تعيين محليّة لكل مستخدم==<br />
كما ذكرنا سابقًا، بعض المستخدمين قد يعرّفون محليّة مختلفة عن المحليّة على مستوى النظام. لعمل ذلك، صدّر المتغيّر {{Ic|LANG}} بالمحليّة المعيّنة في الملف {{ic|~/.bashrc}}. كمثال، لاستخدام المحليّة {{Ic|en_AU.UTF-8}}:<br />
<div align=left dir=ltr><br />
export LANG=en_AU.UTF-8<br />
</div><br />
<br />
ستُحدّث المحليّات عند sourced {{ic|~/.bashrc}}. للتحديث، أمّا أعد الولوج أو source it يدويًّا:<br />
<div align=left dir=ltr><br />
$ source ~/.bashrc<br />
</div><br />
<br />
==تعيين الترتيب==<br />
الترتيب أو الفرز، يختلفان قليلًا. الفرز وحش أبله والمحليّات المختلفة تفعل الأشياء بطريقة مختلفة. للإلتفاف حول المشاكل المحتملة، تعيّن آرتش {{ic|1=LC_COLLATE="C"}} إلى {{ic|/etc/profile}}. على أيّ حال، هذه الطريقة أُهمِلت الآن. لتمكين هذا السلوك، ببساطة أضف التالي إلى {{ic|/etc/locale.conf}}:<br />
<div align=left dir=ltr><br />
LC_COLLATE="C"<br />
</div><br />
<br />
سيفرز الآن الأمر ls الملفات ذات النقاط أولًا، متبوعة بأسماء الملفات بأحرف كبيرة وصغيرة. لاحظ أنه دون الإعداد {{ic|LC_COLLATE}}، تقول المحليّة للتطبيقات بالفرز عبر {{ic|LC_ALL}} أو {{ic|LANG}}، لكن الإعدادات {{ic|LC_COLLATE}} ستُتَجاوز إن عُيّن {{ic|LC_ALL}}. إن كانت هذه مشكلة، تأكّد أن LC_ALL لم يُعيّن بإضافة التالي إلى {{ic|/etc/profile}} بدلًا منه:<br />
<div align=left dir=ltr><br />
export LC_ALL=<br />
</div><br />
لاحظ أن LC_ALL متغيّر LC الوحيد الذي "لا يمكن" تعيينه في {{ic|/etc/locale.conf}}.<br />
<br />
==تعيين اليوم الأول من الأسبوع==<br />
هناك العديد من الدول التي يكون فيها بداية الأسبوع يوم الإثنين. لضبط هذا، غيّر أو أضف الأسطر التالية في القسم {{ic|LC_TIME}} في {{ic|/usr/share/i18n/locales/<your_locale>}}:<br />
<br />
<div align=left dir=ltr><br />
week 7;19971130;5<br />
first_weekday 2<br />
first_workday 2<br />
</div><br />
<br />
وثمّ حدّث النظام:<br />
<br />
<div align=left dir=ltr><br />
# locale-gen<br />
</div><br />
<br />
{{Tip| إن واجهتك أنواع من المشاكل مع النظام وودت السؤال في المنتدى، القائمة البريدية أو غيرهما، فضلًا ضمّن المَخرج من المشكلة سيئة السلوك عبر {{ic|export LC_MESSAGES&#61;C}} قبل اللصق. ستعيِّن رسائل المَخرج (الأخطاء والتحذيرات) إلى الإنجليزية، وبالتالي فهم أناسٍ أكثر لمشكتك. لا يُطبّق ذلك إن كنت تلصق في منتدى بلغة غير الإنجليزية.}}<br />
<br />
==إصلاح المشاكل==<br />
===طرفيّتي لا تدعم UTF-8===<br />
للأسف بعض الطرفيات لا تدعم UTF-8. في هذه الحالة، عليك استخدام طرفية مختلفة. هذه بعض الطرفيات التي تدعم UTF-8:<br />
<br />
* vte-based terminals<br />
* gnustep-terminal<br />
* konsole<br />
* [[mlterm]]<br />
* [[rxvt-unicode]]<br />
* [[xterm]]<br />
<br />
====Xterm لا تدعم UTF-8====<br />
xterm تدعم UTF-8 فقط إن شُغِّل كـ {{Ic|uxterm}} أو {{Ic|xterm -u8}}.<br />
<br />
====طرفية جنوم أو rxvt-unicode لا تدعمان UTF-8====<br />
عليك إطلاق بعض التطبيقات من محليّة UTF-8 وإلّا ستُسقطا دعم UTF-8. مكّن المحليّة {{ic|en_US.UTF-8}} (أو بديل UTF-8 لديك) بالتعليمات أعلاه وعيّنها كمحليّة افتراضيّة، ثم أعد الإقلاع.<br />
<br />
==See also==<br />
* [http://www.gentoo.org/doc/en/guide-localization.xml Gentoo Linux Localization Guide]<br />
* [http://www.gentoo-wiki.info/Locales Gentoo Wiki Archives: Locales]<br />
* [http://demo.icu-project.org/icu-bin/locexp?_=en_US&x=col ICU's interactive collation testing]<br />
* [http://www.openi18n.org/ Free Standards Group Open Internationalisation Initiative]<br />
* [http://pubs.opengroup.org/onlinepubs/007908799/xbd/locale.html ''The Single UNIX Specification'' definition of Locale] by The Open Group<br />
* [https://help.ubuntu.com/community/EnvironmentVariables#Locale_setting_variables Locale environment variables]<br />
<div align=left dir=ltr><br />
<br />
</div></div>Abd allatifhttps://wiki.archlinux.org/index.php?title=Template:Sandbox&diff=280645Template:Sandbox2013-10-31T12:45:55Z<p>Abd allatif: </p>
<hr />
<div><div style="text-align: right; direction:rtl;margin-right:30px;"><br />
<noinclude><br />
{{Template}}<br />
'''Make Code Direction from Left To Right.'''<br />
<br />
* Use [[Template:hc]] for block code with header.<br />
* Use [[Template:ic]] for inline code.<br />
{{Template|code}}<br />
==Usage==<br />
<br />
==Example==<br />
<br />
{{Sandbox|<br />
{{hc|/etc/locale.conf|2=<br />
# Enable UTF-8 with Australian settings.<br />
LANG="en_AU.UTF-8"<br />
<br />
# Keep the default sort order (e.g. files starting with a '.'<br />
# should appear at the start of a directory listing.)<br />
LC_COLLATE="C"<br />
<br />
# Set the short date to YYYY-MM-DD (test with "date +%c")<br />
LC_TIME="en_DK.UTF-8"}}<br />
}}</noinclude><includeonly><div align=left dir=ltr>{{{1}}}</div></includeonly><br />
</div></div>Abd allatifhttps://wiki.archlinux.org/index.php?title=Template:Sandbox&diff=280549Template:Sandbox2013-10-31T07:00:15Z<p>Abd allatif: </p>
<hr />
<div><noinclude>{{Template}}</noinclude><includeonly>{{{2|The daemon can be managed}}} with the unit {{ic|{{{1}}}}} [[systemd#Using units|using systemd]].</includeonly></div>Abd allatifhttps://wiki.archlinux.org/index.php?title=Template:Sandbox&diff=280548Template:Sandbox2013-10-31T06:58:41Z<p>Abd allatif: </p>
<hr />
<div><div style="text-align: right; direction:rtl;margin-right:30px;"><br />
<noinclude><br />
{{Template}}<br />
<br />
'''Block code without header.'''<br />
<br />
* Use [[Template:hc]] for block code with header.<br />
* Use [[Template:ic]] for inline code.<br />
{{Template|code}}<br />
==Usage==<br />
{{Sandbox|asdsad}<br />
<br />
==Example==<br />
<br />
{{Sandbox|<br />
{{hc|/etc/locale.conf|2=<br />
# Enable UTF-8 with Australian settings.<br />
LANG="en_AU.UTF-8"<br />
<br />
# Keep the default sort order (e.g. files starting with a '.'<br />
# should appear at the start of a directory listing.)<br />
LC_COLLATE="C"<br />
<br />
# Set the short date to YYYY-MM-DD (test with "date +%c")<br />
LC_TIME="en_DK.UTF-8"}}<br />
}}</noinclude><includeonly><div align=left dir=ltr>{{{1}}}</div></includeonly><br />
</div></div>Abd allatifhttps://wiki.archlinux.org/index.php?title=Template:Sandbox&diff=280547Template:Sandbox2013-10-31T06:58:17Z<p>Abd allatif: </p>
<hr />
<div><div style="text-align: right; direction:rtl;margin-right:30px;"><br />
<noinclude><br />
{{Template}}<br />
<br />
'''Block code without header.'''<br />
<br />
* Use [[Template:hc]] for block code with header.<br />
* Use [[Template:ic]] for inline code.<br />
{{Template|code}}<br />
==Usage==<br />
<br />
<br />
==Example==<br />
<br />
{{Sandbox|<br />
{{hc|/etc/locale.conf|2=<br />
# Enable UTF-8 with Australian settings.<br />
LANG="en_AU.UTF-8"<br />
<br />
# Keep the default sort order (e.g. files starting with a '.'<br />
# should appear at the start of a directory listing.)<br />
LC_COLLATE="C"<br />
<br />
# Set the short date to YYYY-MM-DD (test with "date +%c")<br />
LC_TIME="en_DK.UTF-8"}}<br />
}}</noinclude><includeonly><div align=left dir=ltr>{{{1}}}</div></includeonly><br />
</div></div>Abd allatifhttps://wiki.archlinux.org/index.php?title=Template:Sandbox&diff=280546Template:Sandbox2013-10-31T06:57:08Z<p>Abd allatif: </p>
<hr />
<div><div style="text-align: right; direction:rtl;margin-right:30px;"><br />
<noinclude><br />
{{Template}}<br />
<br />
'''Block code without header.'''<br />
<br />
* Use [[Template:hc]] for block code with header.<br />
* Use [[Template:ic]] for inline code.<br />
{{Template|code}}<br />
==Usage==<br />
<br />
<br />
==Example==<br />
<br />
{{Sandbox|code}}</noinclude><includeonly><div align=left dir=ltr>12345</div></includeonly><br />
</div></div>Abd allatifhttps://wiki.archlinux.org/index.php?title=Installation_guide_(%D8%A7%D9%84%D8%B9%D8%B1%D8%A8%D9%8A%D8%A9)&diff=280454Installation guide (العربية)2013-10-30T16:12:47Z<p>Abd allatif: </p>
<hr />
<div>[[Category:About Arch (العربية)]]<br />
[[Category:العربية]]<br />
[[cs:Installation Guide]]<br />
[[de:Arch Install Scripts]]<br />
[[el:Installation Guide]]<br />
[[en:Installation Guide]]<br />
[[es:Installation Guide]]<br />
[[fr:Arch_install_scripts]]<br />
[[it:Installation Guide]]<br />
[[ko:Installation Guide]]<br />
[[pl:Installation Guide]]<br />
[[pt:Installation Guide]]<br />
[[ro:Ghid de instalare]]<br />
[[ru:Installation Guide]]<br />
[[uk:Installation Guide]]<br />
[[zh-CN:Installation Guide]]<br />
[[zh-TW:Installation Guide]]<br />
<div style="text-align: right; direction:rtl;margin-right:30px;"><br />
سيرشدك هذا المستند خلال عملية تثبيت [[Arch Linux (العربية)|آرتش لينكس]] باستخدام [https://projects.archlinux.org/arch-install-scripts.git/ سكرِبتات تثبيت آرتش]. قبل التثبيت، نَنصحُك بزيارة [[FAQ (العربية)|الأسئلة الأكثر تكرارًا]]. طالع [[Beginners' Guide (العربية)|دليل المبتدئين]] لدليل تثبيت مفصّل ومفسّر أكثر.<br />
<br />
[[Main Page (العربية)|ويكي آرتش]] الذي يشرف عليه المجتمع هو مورد ممتاز ويجب مراجعته للمشاكل أولًا. قناة [[Wikipedia:IRC|آيآرسي]] (irc://irc.freenode.net/#archlinux )، و[https://bbs.archlinux.org/ المنتديات] متوفّران أيضًا للإجابة إن لم تحصل عليها من أي مكان آخر. أيضًا، تأكّد من مراجعة صفحات {{ic|man}} لأي أمر تجده غريب، يمكن تنفيذ ذلك بسهولة عبر {{ic|man ''الأمر''}}.<br />
<br />
== التنزيل ==<br />
نزّل صورة ISO الجديدة لآرتش لينكس من [https://www.archlinux.org/download/ صفحة تنزيل آرتش لينكس].<br />
* الصورة الموفّرة يمكن إقلاعها من نظامي الإقلاع i686 و x86_64 لتثبيت آرتش لينكس عبر الشبكة. الوسيط الذي يحوي مستودع [core] لم يعد متوفّرًا الآن.<br />
* الصور موقّع عليها، لذا ينصح بشِدّة التحقق من التوقيع قبل استخدامها: يمكن فعل ذلك بتنزيل ملف ".sig" من صفحة التنزيل (أو واحد من المرايا المُسردة هناك) إلى نفس الدليل كملف ".iso" واستخدام {{ic|pacman-key -v ''iso-file''.sig}}.<br />
* يمكن حرق الصورة على اسطوانة CD، ضَمّ ملف ISO، أو [[USB Installation Media (العربية)|كتابته إلى عصا USB]] مباشرةً. تحتاج إلى الصورة فقط للتثبيتات الجديدة، في حال وجود نظام آرتش لينكس مسبقًا، يمكنك تحديثه عبر {{ic|pacman -Syu}}.<br />
<br />
== التثبيت ==<br />
<br />
=== تخطيط لوحة المفاتيح ===<br />
<br />
هناك خرائط مناسبة للمفاتيح للعديد من الدول وأنواع لوحة المفاتيح، ويمكن لأمر مثل {{ic|loadkeys uk}} فعل ما تريد. يمكن العثور على خرائط مفاتيح أخرى في {{ic|/usr/share/kbd/keymaps/}} (يمكنك تجاهل مسار خريطة مفاتيح وامتداد الملف عندما تستعمل {{ic|loadkeys}}).<br />
<br />
=== تقسيم الأقراص ===<br />
طالع [[partitioning (العربية)|التقسيم]] للتفاصيل. <br />
<br />
إن أردت إنشاء أي أجهزة كتلية مكدّسة لـ [[LVM]]، [[disk encryption]] أو [[RAID]]، قم بذلك الآن.<br />
<br />
=== تهيئة الأقسام ===<br />
طالع [[File Systems#Step_2:_create_the_new_file_system|أنظمة الملفات]] للتفاصيل.<br />
<br />
إن كنت تستعمل (U)EFI، ستحتاج غالبًا إلى قسم آخر لاستضافة قسم نظام UEFI. اقرأ [[Unified Extensible Firmware Interface#EFI_System_Partition|إنشاء قسم نظام UEFI في لينكس]].<br />
<br />
=== ضمّ الأقراص ===<br />
علينا الآن ضمّ قسم الجذر على {{ic|/mnt}}. عليك أيضًا إنشاء أدلة لضمّ بقيّة الأقسام (في حال أردتها) ({{ic|/mnt/boot}}، {{ic|/mnt/home}}، ...) وضُمّ قسم [[Swap|التبديل]] لديك إن أردت أن يكتشفهم {{ic|genfstab}}.<br />
<br />
=== الاتصال بالإنترنت ===<br />
خدمة DHCP ممكّنة افتراضيًّا لكل الأجهزة المتوفّرة. إن احتجت إلى إعداد عنوان IP ثابت أو استخدام أدوات إدارة مثل [[Netctl]]، عليك إيقاف هذه الخدمة أولًا: {{ic|systemctl stop dhcpcd.service}}. لمعلوماتٍ أكثر، قم بقراءة [[configuring network]].<br />
<br />
==== الشبكة اللاسلكية ====<br />
شغّل {{ic|wifi-menu}} لإعداد الشبكة اللاسلكية لديك. للتفاصيل، طالع [[Wireless Setup]] و [[Netctl]].<br />
<br />
=== تثبيت أساس النظام ===<br />
قبل التثبيت، قد ترغب في تحرير {{ic|/etc/pacman.d/mirrorlist}} لوضع [[Mirrors|المرآة]] المفضّلة لديك في الأعلى. ستُنسخ نسخة من قائمة المرايا هذه على نظامك الجديد عبر {{ic|pacstrap}} كذلك، لذلك عليك القيام بذلك لأنه يستحقّ.<br />
<br />
باستخدام السكرِبت [https://projects.archlinux.org/arch-install-scripts.git/tree/pacstrap.in pacstrap] سنثبّت أساس النظام.<br />
<div align=left dir=ltr><br />
<br />
# pacstrap /mnt base<br />
</div><br />
<br />
يمكن تثبيت حزم أخرى بإضافة أسمائها إلى الأمر أعلاه (مفصولة بفواصل)، متضمّنة محمّل الإقلاع إن أردته.<br />
<br />
=== ضبط النظام ===<br />
* ولّد [[fstab (العربية)|fstab]] بالأمر التالي (إن كنت تفضّل استخدام UUIDs أو الملصقات، أضف الخيار {{ic|-U}} أو {{ic|-L}}، بالترتيب):<br />
<br />
<div align=left dir=ltr><br />
:{{bc|# genfstab -p /mnt >> /mnt/etc/fstab}}<br />
</div><br />
* [[chroot|غيّر الجذر]] إلى نظامنا المثبّت الجديد:<br />
<br />
<div align=left dir=ltr><br />
:{{bc|# arch-chroot /mnt}}<br />
</div><br />
* اكتب اسمَ مضيفكَ إلى {{ic|/etc/hostname}}.<br />
<br />
* أوصِل {{ic|/etc/localtime}} رمزيًّا إلى {{ic|/usr/share/zoneinfo/Zone/SubZone}}. استبدل {{ic|Zone}} و {{ic|Subzone}} إلى your liking. مثلًا:<br />
<br />
<div align=left dir=ltr><br />
:{{bc|# ln -s /usr/share/zoneinfo/Europe/Athens /etc/localtime}}<br />
</div><br />
<br />
* أزل التعليق عن المحليّة المحدّدة في {{ic|/etc/locale.gen}} وولّدها عبر {{ic|locale-gen}}.<br />
* عيّن تفضيلات [[Locale#Setting system-wide locale|المحليّة]] في {{ic|/etc/locale.conf}}.<br />
* أضف [[KEYMAP|خريطة مفاتيح الطرفية]] وتفضيلات [[Fonts#Console_fonts|الخط]] في {{ic|/etc/vconsole.conf}}<br />
* اضبط {{ic|/etc/mkinitcpio.conf}} كما تحتاجه (طالع [[mkinitcpio]]) وأنشئ قرص الذاكرة العشوائية الأولي عبر:<br />
<br />
<div align=left dir=ltr><br />
:{{bc|# mkinitcpio -p linux}}<br />
</div><br />
<br />
* عيّن كلمة سر للجذر عبر {{ic|passwd}}.<br />
* اضبط الشبكة مرةً أخرى للبيئة المثبّتة الجديدة. طالع [[Network Configuration]] و [[Wireless Setup]].<br />
<br />
=== تثبيت وضبط محمّل الإقلاع ===<br />
يمكنك الاختيار بين [[GRUB (العربية)|GRUB]] أو [[Syslinux]].<br />
<br />
=== إزالة الضمّ وإعادة التشغيل ===<br />
إذا كنتَ لا تزال في بيئة chroot اطبع {{ic|exit}} أو اضغط {{ic|Ctrl+D}} للخروج منها.<br />
لقد ضممنا الأقسام سابقًا تحت {{ic|/mnt}}. في هذه الخطوة سنزيل الضمّ عنهم:<br />
<div align=left dir=ltr><br />
# umount /mnt/{boot,home,}<br />
</div><br />
<br />
أعد التشغيل الآن ولِج داخل نظامك الجديد بحساب الجذر.<br />
<br />
== ما بعدَ التثبيت ==<br />
<br />
=== إدارة المستخدمين ===<br />
<br />
أضف أيّ حسابات للمستخدمين التي تحتاجها إلى جانب الجذر، كما هو مشروح في [[Users and Groups#User management|إدارة المستخدمين]]. ليست عادةً جيّدة لاستخدام حساب الجذر للاستخدام العادي، أو كشفهِ خلال [[SSH]] على خادم. يجب استخدام حساب الجذر فقط للمهام الإدارية.<br />
<br />
=== إدارة الحزم ===<br />
<br />
طالع [[pacman (العربية)|pacman]] و [[FAQ (العربية)#إدارة الحزم|إدارة الحزم]] للإجابات حول تثبيت، تحديث وإدارة الحزم.<br />
<br />
=== إدارة الخدمات ===<br />
<br />
تستخدم آرتش لينكس [[systemd]] كمُمهِّد (init)، الذي يكون مدير نظام وخدمات لِلينكس. لصيانة تثبيت آرتش لينكس لديك، ستكون فكرة جيّدة أن تتعلّم الأساسيات حولها. يتمّ التفاعل مع systemd بالأمر {{ic|systemctl}}. اقرأ [[Systemd_(العربية)#الاستخدام الأوّلي لأداة_systemctl|الاستخدام الأوّلي لأداة systemctl]] لمزيدٍ من المعلومات.<br />
<br />
=== الصوت ===<br />
<br />
يعمل [[ALSA]] غالبًا خارج نطاق الصندوق (out-of-the-box). تحتاج فقط إلى كتمه. ثبّت {{Pkg|alsa-utils}} (والذي يحتوي {{ic|alsamixer}}) واتبع التعليمات [[Advanced Linux Sound Architecture#Unmuting the channels|هذه]].<br />
<br />
ALSA مضمّن أيضًا مع النواة وهو مستحسن. إن لم يعمل، فـ [[OSS]] بديل موجود. إن احتجت متطلّبات صوت متقدّمة، ألقِ نظرةً على [[Sound system]] لنظرةٍ عامة على المقالات المختلفة.<br />
<br />
=== تعريف الفيديو ===<br />
<br />
نواة لينكس تتضمّن تعريفات مفتوحة المصدر للفيديو وتدعم hardware accelerated framebuffers. على أية حال، دعم userland مطلوب لتسريع OpenGL و 2D في X11.<br />
<br />
إن لم تكن تعرف أي chipset للفيديو موجودة على حاسوبك، نفّذ:<br />
<br />
<div align=left dir=ltr><br />
$ lspci | grep VGA<br />
</div><br />
<br />
لتحصل على قائمة كاملة من التعريفات مفتوحة المصدر للفيديو، ابحث في قاعدة بيانات الحزم.<br />
<br />
<div align=left dir=ltr><br />
$ pacman -Ss xf86-video | less<br />
</div><br />
<br />
التعريف {{ic|vesa}} هو تعريف generic mode-setting يعمل مع أغلب وحدات معالجة الرسوميات (GPU)، ولكن لا يوفّر أي تسريع ثنائي أو ثلاثي الأبعاد. إن لم تعثر على تعريف أفضل أو فشل تحميله، , Xorg سيرجع إلى vesa. لتثبيته:<br />
<br />
<div align=left dir=ltr><br />
# pacman -S xf86-video-vesa<br />
</div><br />
<br />
لكي يعمل تسريع الفيديو، وأحيانًا لكشف كل الأوضاع التي يمكن لوحدة معالجة الرسوميات تعيينها، ستحتاج إلى تعريف فيديو مناسب:<br />
<br />
{| class="wikitable" style="text-align:center"<br />
|-<br />
! الصنف !! النوع !! التعريف !! حزمة [[Multilib]] <br><span style="font-weight: normal;">(for 32-bit applications on Arch x86_64)</span> !! التوثيق<br />
|-<br />
| rowspan="2" bgcolor=#f7e3e3| '''<span style="color: #e62c2c;">AMD/ATI</span>'''<br />
| مفتوح المصدر || {{Pkg|xf86-video-ati}} || {{Pkg|lib32-ati-dri}} || [[ATI]]<br />
|-<br />
| مملوك || {{Pkg|catalyst-dkms}} || {{Pkg|lib32-catalyst-utils}} || [[AMD Catalyst]]<br />
|-<br />
| bgcolor=#e3ecf7| '''<span style="color: #2a6dc8;">Intel</span>'''<br />
| مفتوح المصدر<br />
| {{Pkg|xf86-video-intel}} || {{Pkg|lib32-intel-dri}} || [[Intel Graphics]]<br />
|-<br />
| rowspan="4" bgcolor=#e3f7e6| '''<span style="color: #409044;">Nvidia</span>'''<br />
| rowspan="2"| مفتوح المصدر<br />
| {{Pkg|xf86-video-nouveau}} || {{Pkg|lib32-nouveau-dri}} || [[Nouveau]]<br />
|-<br />
| {{Pkg|xf86-video-nv}} || – || (تعريف أثري (قديم))<br />
|-<br />
| rowspan="2"| مملوك || {{Pkg|nvidia}} || {{Pkg|lib32-nvidia-utils}} || rowspan="2"| [[NVIDIA]]<br />
|-<br />
| {{Pkg|nvidia-304xx}} || {{Pkg|lib32-nvidia-304xx-utils}}<br />
|}<br />
<br />
=== خادم العرض ===<br />
<br />
خادم العرض إكس (معروفٌ بـ X11 أو X) هو ميفاق (protocol) الشبكات والعرض، والذي يوفّر إنشاء النوافذ على عروض نقطية. إنّه المعيار الواقعيّ لإنجاز واجهات المستخدم الرسومية. طالع المقالة [[Xorg]] للتفاصيل.<br />
<br />
[[Wayland]] ميفاق خادم عرض جديد ومرجع إنجاز ويستون متوفّر. هناك القليل من الدعم للتطبيقات لهذه المرحلة المبكّرة من التطوير.<br />
<br />
=== الخطوط ===<br />
<br />
قد ترغب في تثبيت مجموعة خطوط TrueType؛ بسبب تضمين الخطوط النقطية غير القابلة للتحجيم افتراضيًّا. DejaVu مجموعة من الجودة العالية، بخطوط للأغراض العامة بتغطية [[Wikipedia:Unicode|يونيكود]] جيّدة:<br />
<br />
<div align=left dir=ltr><br />
# pacman -S ttf-dejavu<br />
</div><br />
<br />
ارجع إلى [[Font Configuration]] لكيفية ضبط تصيير (rendering) الخطوط و [[Fonts]] لاقترحات للخطوط وتعليمات التثبيت.<br />
<br />
== ملحق ==<br />
<br />
لقائمةٍ من التطبيقات المفيدة، طالع [[List of Applications|قائمة التطبيقات]].<br />
<br />
طالع [[General Recommendations|التوصيات العامة]] لدروس ما بعد التثبيت مثل إعداد لوحة اللمس أو تصيير الخطوط.</div>Abd allatifhttps://wiki.archlinux.org/index.php?title=LibreOffice_(%D8%A7%D9%84%D8%B9%D8%B1%D8%A8%D9%8A%D8%A9)&diff=280450LibreOffice (العربية)2013-10-30T16:09:18Z<p>Abd allatif: </p>
<hr />
<div>[[Category:About Arch (العربية)]]<br />
[[Category:العربية]]<br />
[[de:LibreOffice]]<br />
[[es:LibreOffice]]<br />
[[en:LibreOffice]]<br />
[[fr:LibreOffice]]<br />
[[it:LibreOffice]]<br />
[[ja:LibreOffice]]<br />
[[ru:LibreOffice]]<br />
[[zh-CN:LibreOffice]]<br />
<div style="text-align: right; direction:rtl;margin-right:30px;"><br />
{{Article summary start|ملخّص}}<br />
{{Article summary text|تشرح هذه المقالة عملية تثبيت ليبر أوفيس وإعداده}}<br />
{{Article summary heading|مُتعلّق}}<br />
{{Article summary wiki|Apache OpenOffice}}: Apache branch-out of OpenOffice.org, the project from which LibreOffice descends.<br />
{{Article summary end}}<br />
من [http://www.libreoffice.org/ Home - LibreOffice]:<br />
<br />
:''LibreOffice is the free power-packed Open Source personal productivity suite for Windows, Macintosh and Linux, that gives you six feature-rich applications for all your document production and data processing needs: Writer, Calc, Impress, Draw, Math and Base. [http://www.libreoffice.org/get-help/ Support] and [http://www.libreoffice.org/get-help/documentation/ documentation] is free from our large, dedicated community of users, contributors and developers. [http://www.libreoffice.org/get-involved/ You, too, can also get involved!]''<br />
<br />
== ليبر أوفيس في آرتش لينكس ==<br />
<br />
أُسقِط الدعم الرسمي لـ [[OpenOffice.org]] لأجل ليبر أوفيس، the "Document Foundation" fork of the project, والذي يتضمّن أيضًا تعزيزات ومزايا إضافية. طالع [https://mailman.archlinux.org/pipermail/arch-general/2011-March/018819.html Dropping Oracle OpenOffice (arch-general)].<br />
<br />
== التثبيت ==<br />
<br />
منذ الإصدار 3.4.2rc1، قُسّم ليبر أوفيس إلى حزم متعدّدة، التي يمكن [[pacman (العربية)|تثبيتها]] مع المجموعة {{Grp|libreoffice}} من [[Official Repositories (العربية)|المستودعات الرسمية]]: سيعرض pacman قائمة للسؤال عن المكوّنات لتثبيتها.<br />
<br />
{{ملاحظة|<br />
* بسبب عدم كون الحزمة en-US مضمّنة افتراضيًّا، عليك تثبيت حزمة لغة واحدة على الأقل، اللغة الافتراضية هي الأفريكانية (لأنها (أبجديًّا) المُوفّر الأول لـ libreoffice-langpack)، حيث أن الافتراضية السابقة (en-US) هي الآن رقم 24. الخطأ الشائع هو تثبيت {{Pkg|libreoffice-uk}}، وهي حزمة اللغة الأوكرانية أو {{Pkg|libreoffice-br}}، وهي حزمة اللغة البريتونية، بدلًا من {{Pkg|libreoffice-en-GB}}.<br />
* ستحتاج إلى {{Pkg|libreoffice-kde4}} أو {{Pkg|libreoffice-gnome}} فقط إن كنت تعتم بتكامل Qt أو GTK+. طالع القسم [[#Theme|السمة]].<br />
}}<br />
<br />
تحقّق من اقتراحات اعتماديات pacman الاختيارية المنصوح بها. مثلًا، ثبّت بيئة تشغيل جاڤا (اختياريًا، يُنصح بشدة). طالع: [[Java]]. قد تحتاج إلى {{AUR|hsqldb2-java}} لاستخدام [https://wiki.documentfoundation.org/Base#Java_and_HSQLDB بعض وحدات] ليبر أوفيس بيس.<br />
<br />
=== خطوط مايكروسوفت ===<br />
<br />
خطوط مايكروسوفت الرسمية تفيد في تجنّب مشاكل ترقيم الصفحات. طالع صفحة الويكي [[MS_Fonts]].<br />
<br />
== السمة ==<br />
<br />
لتكامل [[Qt]]، ثبّت الحزمة {{Pkg|libreoffice-kde4}}.<br />
لتكامل [[GTK+]]، ثبّت الحزمة {{Pkg|libreoffice-gnome}}.<br />
{{ملاحظة|<br />
* يمكن لتكامل QT محاكاة سمة GTK+. الأمر {{ic|qtconfig-qt4}} يفتح نافذة حيث تستطيع الاختيار بينها.<br />
* حتّى لو لم تكن تشغّل أيًّا من بيئات سطح المكتب هذه ولا تريد "التكامل" معها، قد تحتاج تثبيت هذه الحزم ليستخدم ليبر أوفيس سمات GTK+ أو Qt غير الافتراضية. كمثال، يستخدم ليبر أوفيس على e17 السمة الافتراضية "القبيحة"" (aka "win95"/"win98"). تثبيت libreoffice-gnome يسمح لك باختيار سمة GTK+ جذّابة أكثر.<br />
}}<br />
<br />
As of LibreOffice version 3.5.x it tries to magically autodetect your desktop UI using the following magic if proper libs will be found:<br />
<div align=left dir=ltr><br />
gtk > kde4 > generic<br />
</div><br />
<br />
To force the use of a certain VCL UI interface use one of this:<br />
<div align=left dir=ltr><br />
SAL_USE_VCLPLUGIN=gen lowriter<br />
SAL_USE_VCLPLUGIN=kde4 lowriter<br />
SAL_USE_VCLPLUGIN=gtk lowriter<br />
SAL_USE_VCLPLUGIN=gtk3 lowriter<br />
</div><br />
It is convenient to save {{ic|SAL_USE_VCLPLUGIN}} variable in your shell configuration file, e.g.{{ic|/etc/bash.bashrc}} or {{ic|~/.bashrc}} if using Bash.<br />
<br />
{{ملاحظة|واجهة مستخدم GTK3 الجديدة معلّمة كأوّلية وتجربيبة، وستكون متوفرة فقط إن مكّنت "المزايا التجريبية" في حواري ضبط ليبر أوفيس العام.}}<br />
<br />
في كلّ الأحوال، إن بدا وكأنّه يستخدم أيقونات ويندوز 95/98، اذهب إلى "أدوات > خيارات..." في القوائم (التي توفّر حواري الخيارات)، وثمّ اختر "LibreOffice > الموصليّة" وأزل تعليم "الكشف تلقائيًا عن وضع التباين العالي في نظام التشغيل"<br />
<br />
إن لم يعمل ذلك مباشرةً، عليك تغيير طقم الأيقونات المُستخدمة، توجد هي الأخرى في حواري الخيارات، تحت "LibreOffice > عرض" بصندوقين منبثقين "حجم الأيقونة ونمطها" (الصندوق المنبثق الثاني يجب أن يتغيّر إلى شيء غير "تباين عالٍ".<br />
<br />
=== سمات فَيَرفُكس ===<br />
<br />
سلسلة ليبر أوفيس 4.x يمكنها استخدام سمات فَيَرفُكس.<br />
أُدخل إلى خيارات ليبر أوفيس واختر "التخصيص > اختيار سمة"، ثمّ ألصِق عنوان URL لسمتكَ المفضّلة. سيظهر زر في المربع الحواري يسمح لك بفتح المتصفّح.<br />
<br />
== إدارة الامتدادات ==<br />
<br />
توفّر آرتش بعض الامتدادات الإضافية من [[Official Repositories (العربية)|المستودعات الرسمية]]:<br />
<br />
* {{Pkg|libreoffice-extension-nlpsolver}}<br />
* {{Pkg|libreoffice-extension-presentation-minimizer}}<br />
* {{Pkg|libreoffice-extension-wiki-publisher}}<br />
<br />
تأكّد من [[AUR]] أو مدير الامتدادات المضمّن في ليبر أوفيس أو [http://libreplanet.org/wiki/Group:OpenOfficeExtensions/List احصل على الامتدادات من الإنترنت] إن أردت تثبيت امتدادات أكثر.<br />
<br />
== مساعدات اللغة ==<br />
<br />
=== المدقّق الإملائي ===<br />
<br />
لتدقيق الإملاء، ستحتاج إلى {{Pkg|hunspell}} وقاموس لغة لِـ hunspell (مثل {{Pkg|hunspell-en}} للإنجليزية, {{Pkg|hunspell-de}} للألمانية، إلخ).<br />
<br />
=== قواعد الواصلة ===<br />
<br />
لقواعد الواصلة، ستحتاج إلى {{Pkg|hyphen}} ومجموعة لغة لقواعد الواصلة ({{Pkg|hyphen-en}} للإنجليزية، {{Pkg|hyphen-de}} للألمانية، إلخ).<br />
<br />
=== المترادفات ===<br />
<br />
لخيار المترادفات، ستحتاج إلى {{Pkg|libmythes}} و a mythes language thesaurus (like {{Pkg|mythes-en}} للإنجليزية، {{Pkg|mythes-de}} للألمانية، إلخ).<br />
<br />
=== المدقّق النحوي ===<br />
<br />
للتدقيق النحوي، ستحتاج إلى تثبيت امتداد مثل LanguageTool، حيث تجدها في [[AUR]]: {{AUR|libreoffice-extension-languagetool}} أو [http://www.languagetool.org/ موقع وِب LanguageTool].<br />
<br />
يمكن العثور على أدوات نحوية أخرى من [http://libreplanet.org/wiki/Group:OpenOfficeExtensions/List صفحة امتدادات ليبر أوفيس] أو [http://lingucomponent.openoffice.org/grammar.html موقع وِب أوبن أوفيس ]. لا يُضمن عمل كل امتدادات أوبن أوفيس مع ليبر أوفيس.<br />
<br />
{{ملاحظة|يستخدم Languagetool جاڤا وقد يُبطئ أو يعلّق ليبر أوفيس لفترة بسيطة، خاصّةً عند فتح المستندات. لحسن الحظ هذا يحدث غالبًا عند فتح مستند لأول مرة أو غير ظاهر.<br />
<br />
يبدو أنَّ Openjdk6 يعطي نتائج أفضل من openjdk7 مع أداة اللغة، رغم ذلك، هذا غير مؤكّد.}}<br />
<br />
== تثبيت وحدات الماكرو ==<br />
<br />
إن اعتزمت استخدام وحدات الماكرو، يجب أن تكون لديك بيئة تشغيل جاڤا ممكّنة. هناك بيئة تشغيل جاڤا ممكّنة افتراضيًّا، لكن تعطيلها [[LibreOffice (العربية)#تسريع ليبر أوفيس|يسرّع البرنامج]].<br />
<br />
المسار الافتراضي لوحدات الماكرو في آرتش لينكس يختلف من أغلب توزيعات لينكس. المسار هو:<br />
<div align=left dir=ltr><br />
~/.config/libreoffice/4/user/Scripts/<br />
</div><br />
<br />
== تسريع ليبر أوفيس ==<br />
<br />
قد تحسّن بعض الإعدادات وقت تحميل ليبر أوفيس واستجابته كذلك، بعضها أيضًا يزيد استخدام الذاكرة العشوائية، لذا استخدمها بحذر. يمكن الوصول إليها تحت "أدوات > خيارات".<br />
* تحت "الذاكرة":<br />
** قلّل عدد خطوات التراجع لأقل من 100، شيءٌ كـ 20 أو 30 خطوة.<br />
** تحت ''ذاكرة تخزين الرسومات المؤقّتة''، عيّن استخدام ليبر أوفيس إلى 128 م.بايت (أعلى من الأصلية، 20 م.بايت).<br />
** عيّن "ذاكرة لكل كائن" إلى 20 م.بايت (أعلى من الأصلية، 5 م.بايت).<br />
** إن كنت تستخدم ليبر أوفيس مرارًا، علّم "تمكين صينية التشغيل السريع".<br />
{{ملاحظة|عليك امتلاك الحزمة {{Pkg|libreoffice-gnome}} مثبّتة ليتوفّر خيار التشغيل السريع.}}<br />
* تحت "متقدّم"، أزل تعليم "استخدم البيئة التشغيلية لجافا".<br />
{{ملاحظة|لقائمة من الوظائف المكتوبة بجاڤا فقط، طالع: https://wiki.documentfoundation.org/Development/Java.}}<br />
<br />
== إصلاح المشاكل ==<br />
<br />
=== إنابة (استبدال) الخطوط ===<br />
<br />
يمكن تغيير هذه الإعدادات في قوائم ليبر أوفيس. من القائمة المنسدلة، اختر "أدوات > خيارات > LibreOffice > الخطوط". علّم المربع الذي يقول "تطبيق الجدول البديل". اطبع {{ic|Andale Sans UI}} في صندوق الخط واختر الخط المطلوب في خيار "استبدال بـ". عندما تنتهي، انقر "علامة التحقّق". ثمّ اختر الخياران "دائمًا" و "الشاشة فقط" في الصندوق بالأسفل. انقر حسنًا.<br />
عليك فيما بعد الذهاب إلى "أدوات > خيارات > LibreOffice > عرض"، وأزل تعليم "استخدام خط النظام لواجهة المستخدم". إن كنت تستخدم خط non-antialised، كـ Arial، عليك أيضًا إزالة تعليم " تحسين حواف خط الشاشة" قبل تصيير خطوط القوائم بشكل جيّد.<br />
<br />
=== إزالة التسنّن (التنعيم) ===<br />
<br />
نفّذ:<br />
<div align=left dir=ltr><br />
$ echo "Xft.lcdfilter: lcddefault" | xrdb -merge<br />
</div><br />
<br />
لجعل التغيير مستمرًّا، أضف {{ic|Xft.lcdfilter: lcddefault}} إلى الملف {{ic|~/.Xresources}}، وتأكّد من تشغيل {{ic|$ xrdb -merge ~/.Xresources}}. [https://bugs.launchpad.net/ubuntu/+source/openoffice.org/+bug/271283/comments/19]. طالع [[X resources]] لتفاصيل أكثر.<br />
<br />
إن لم تعمل هذه، حاول أيضًا إضافة {{ic|Xft.lcdfilter: lcddefault}} إلى الملف {{ic|~/.Xdefaults}}. إن لم يكن لديك هذا الملف، عليك إنشاءه.<br />
<br />
=== التجمّد عند استخدام مشاركات NFSv3 ===<br />
<br />
إن تجمّد ليبر أوفيس أثناء فتح أو حفظ مستند موجود على مشاركة NFSv3، حاول تعليق الأسطر التالية مؤقّتًا بـ {{ic|#}} في {{ic|/usr/lib/libreoffice/program/soffice}}:<br />
<div align=left dir=ltr><br />
# file locking now enabled by default<br />
SAL_ENABLE_FILE_LOCKING=1<br />
export SAL_ENABLE_FILE_LOCKING<br />
</div><br />
<br />
لتجنّب الكتابة فوقه عند التحديث، انسخ {{ic|/usr/lib/libreoffice/program/soffice}} في {{ic|/usr/local/bin}}. المنشور الأصلي [http://www.crazysquirrel.com/computing/debian/bugs/openoffice-over-nfs.jspx هنا].<br />
<br />
=== إصلاح خطأ هيكل جاڤا ===<br />
<br />
قد يواجهك الخطأ التالي وأنت تحاول تشغيل ليبر أوفيس.<br />
<br />
<div align=left dir=ltr><br />
[Java framework] Error in function createSettingsDocument (elements.cxx).<br />
javaldx failed!<br />
</div><br />
<br />
إن حصل ذلك، اعطِ لنفسك ملكية {{ic|~/.config/}} مثل:<br />
<div align=left dir=ltr><br />
# chown -vR username:users ~/.config<br />
</div><br />
<br />
[https://bbs.archlinux.org/viewtopic.php?id=93168 أُنشُر في منتديات آرتش لينكس].<br />
<br />
=== لا يكتشف ليبر أوفيس الشهادات ===<br />
<br />
إن لم ترَ أيًّا من الشهادات عندما تحاول توقيع مستند، عليك امتلاك الشهادات المُضبطة في موزيلا فَيَرفُكس (أو ثَندِربيرد). إن لم يُرِ ليبر أوفيس أيًّا منها، طالع متغيّر البيئة {{ic|MOZILLA_CERTIFICATE_FOLDER}} للإشارة إلى مجلد موزيلا فَيَرفُكس (أو ثَندِربيرد).<br />
<div align=left dir=ltr><br />
export MOZILLA_CERTIFICATE_FOLDER=$HOME/.mozilla/firefox/XXXXXX.default/<br />
</div><br />
<br />
[http://wiki.services.openoffice.org/wiki/Certificate_Detection اكتشاف الشهادة].<br />
<br />
=== تشغيل ملفات .pps في وضع التحرير (دون العرض التقديمي) ===<br />
<br />
الحل الوحيد هو بإعادة تسمية ملف .pps إلى .ppt.<br />
<br />
أضف السكرِبت التالي إلى دليل المنزل واستخدمهُ لفتح أي ملف .pps. مفيدٌ جدًّا لفتح ملفات .pps المُستقبَلة من بريد إلكتروني دون الحاجة لحفظها.<br />
<div align=left dir=ltr><br />
{{bc|<nowiki><br />
#!/bin/bash<br />
<br />
f=$(mktemp)<br />
cp "$1" "${f}.ppt" && libreoffice "${f}.ppt" && rm -f "${f}.ppt"<br />
</nowiki>}}<br />
</div><br />
=== مشاكل المَصَادر ===<br />
<br />
إن انهار رايتر في محاولة الوصول إلى "أدوات > قاعدة بيانات المراجع"، بالخطأ التالي:<br />
<div align=left dir=ltr><br />
com::sun::star::loader::CannotActivateFactoryException<br />
</div><br />
ثبّت {{Pkg|libreoffice-base}} للالتفاف حول علّة معروفة، يظهر أنها [http://cgit.freedesktop.org/libreoffice/core/commit/?id=1889c1af41650576a29c587a0b2cdeaf0d297587 أُصلِحت].<br />
<br />
=== دعم الفيديو ===<br />
<br />
إن كانت الفيديوهات المضمّنة صناديق رمادية فقط، بالإضافة إلى {{Pkg|gst-plugins-base-libs}} و ''gst-plugins-[base|good|bad|ugly]''، ثبّت {{Pkg|gst-libav}}.<br />
<br />
=== لا يتغيّر حجم المحتوى في النوافذ مع Xfwm4 ===<br />
<br />
إن لم يتغيّر حجم محتوى نافذة ليبر أوفيس معه تحت Xfce (أو باستخدام Xfwm4 فقط)، مثل هذا المنشور: [https://bbs.archlinux.org/viewtopic.php?id=133137]. ثبّت {{Pkg|libreoffice-gnome}} لحلّ هذه المشكلة.</div>Abd allatifhttps://wiki.archlinux.org/index.php?title=Official_repositories_(%D8%A7%D9%84%D8%B9%D8%B1%D8%A8%D9%8A%D8%A9)&diff=268037Official repositories (العربية)2013-07-26T11:12:18Z<p>Abd allatif: </p>
<hr />
<div>[[Category:العربية]]<br />
[[Category:Package management (العربية)]]<br />
[[cs:Official Repositories]]<br />
[[es:Official Repositories]]<br />
[[fr:Depots]]<br />
[[en:Official Repositories]]<br />
[[it:Official Repositories]]<br />
[[ja:Official Repositories]]<br />
[[nl:Official Repositories]]<br />
[[pt:Official Repositories]]<br />
[[ro:Depozitele oficiale]]<br />
[[ru:Official Repositories]]<br />
[[tr:Resmi_Depolar]]<br />
[[zh-CN:Official Repositories]]<br />
[[zh-TW:Official Repositories]]<br />
<br />
<div style="text-align: right; direction:rtl;margin-right:30px;"> <br />
[[Wikipedia:software repository|مستودع البرنامج]] هو موقع لتخزين حزم البرامج التي قد يتم طلبها و تثبينها في جهاز الكمبيوتر . مشرفو حزم ارش لينكس (المطورين والمستخدمين الموثوق بهم) يقومون برعاية عدد من المستودعات الرسمية المحتوية على حزم البرمجيات الأساسية والشعبية، يمكن الوصول الى الحزم بسهولة عبر [[pacman]]. هذه المقالة تتطرق للمستودعات المدعومة رسميا.<br />
<br />
== الخلفية التاريخية ==<br />
Most of the repository splits are for historical reasons. Originally, when Arch Linux was used by very few users, there was only one repository known as [official] (now [core]). At the time, [official] basically contained Judd Vinet's preferred applications. It was designed to contain one of each "type" of program -- one DE, one major browser, etc.<br />
There were users back then that did not like Judd's selection, so since the Arch Build System is so easy to use, they created packages of their own. These packages went into a repository called [unofficial], and were maintained by developers other than Judd. Eventually, the two repositories were both considered equally supported by the developers, so the names [official] and [unofficial] no longer reflected their true purpose. They were subsequently renamed to [current] and [extra] sometime near the release version 0.5.<br />
Shortly after the 2007.8.1 release, [current] was renamed [core] in order to prevent confusion over what exactly it contains. The repositories are now more or less equal in the eyes of the developers and the community, but [core] does have some differences. The main distinction is that packages used for Installation CDs and release snapshots are taken only from [core]. This repository still gives a complete Linux system, though it may not be the Linux system you want.<br />
Now, sometime around 0.5 or 0.6, they found there were a lot of packages that the developers did not want to maintain. One of the developers (Xentac) set up the "Trusted User Repositories", which were unofficial repositories in which trusted users could place packages they had created. There was a [staging] repository where packages could be promoted into the official repositories by one of the Arch Linux developers, but other than this, the developers and trusted users were more or less distinct.<br />
This worked for a while, but not when trusted users got bored with their repositories, and not when untrusted users wanted to share their own packages. This led to the development of the AUR. The TUs were conglomerated into a more closely knit group, and they now collectively maintain the [community] repository. The Trusted Users are still a separate group from the Arch Linux developers, and there is not a lot of communication between them. However, popular packages are still promoted from [community] to [extra] on occasion. The AUR also allows untrusted users to submit PKGBUILDs.<br />
After a kernel in [core] broke many user systems, the "core signoff policy" was introduced. Since then, all package updates for [core] need to go through a [testing] repository first, and only after multiple signoffs from other developers are they allowed to move. Over time, it was noticed that various [core] packages had low usage, and user signoffs or even lack of bug reports became informally accepted as criteria to accept such packages.<br />
In late 2009/the beginning of 2010, with the advent of some new filesystems and the desire to support them during installation, along with the realization that [core] was never clearly defined (just "important packages, handpicked by developers"), the repository received a more accurate description (see below).<br />
== [core] ==<br />
<br />
This repository can be found in {{ic|.../core/os/}} on your favorite mirror.<br />
<br />
It has fairly strict quality requirements:<br />
<br />
* Developers and/or users need to signoff on updates before package updates are accepted.<br />
<br />
* For packages with low usage, a reasonable exposure (i.e. inform people about update, request signoffs, keep in testing up to a week depending on the severity of the change, lack of outstanding bug reports, along with the implicit signoff of the package maintainer) is enough.<br />
<br />
It contains packages which:<br />
<br />
:* are needed to boot any kind of supported Arch system.<br />
:* may be needed to connect to the Internet.<br />
:* are essential for package building.<br />
:* can manage and check/repair supported filesystems.<br />
:* virtually anyone will want or need early in the system setup process (e.g. {{Pkg|openssh}}).<br />
:* are dependencies (but not necessarily makedepends) of the above.<br />
<br />
{{Note|This repository used to be included in the core installation media, so you could build a fully working base system without Internet access. This is no longer the case. Internet access is now required in order to install a new system. See [[Pacman_Tips#Installing_packages_from_a_CD.2FDVD_or_USB_stick|here]] if you would like to create a local repository with packages from [core] or from any of the other repositories.}}<br />
<br />
== [extra] ==<br />
<br />
This repository can be found in {{ic|.../extra/os/}} on your favorite mirror.<br />
<br />
It contains all packages that do not fit in [core]. Example: Xorg, window managers, web browsers, media players, tools for working with languages such as Python and Ruby, and a lot more.<br />
<br />
== [community] ==<br />
<br />
This repository can be found in {{ic|.../community/os/}} on your favorite mirror.<br />
<br />
It contains packages from the [[Arch User Repository]] which gained enough votes to be adopted by a [[Trusted_Users|Trusted User]].<br />
<br />
== [multilib] ==<br />
<br />
This repository can be found in {{ic|.../multilib/os/}} on your favorite mirror.<br />
<br />
It contains 32 bit software and libraries that can be used to run and build 32 bit applications on 64 bit installs (e.g. {{Pkg|wine}}, {{Pkg|skype}}, etc).<br />
<br />
For more information, see [[Multilib]].<br />
<br />
== [testing] ==<br />
<br />
{{تحذير|Be careful when enabling the [testing] repository. Your system may break after performing an update. Only experienced users who know how to deal with potential system breakage should use it.}}<br />
<br />
This repository can be found in {{ic|.../testing/os/}} on your favorite mirror.<br />
<br />
It's special because it contains packages that are candidates for the [core] or [extra] repositories.<br />
<br />
New packages go into [testing] if:<br />
<br />
* They are expected to break something on update and need to be tested first.<br />
<br />
* They require other packages to be rebuilt. In this case, all packages that need to be rebuilt are put into [testing] first and when all rebuilds are done, they are moved back to the other repositories.<br />
<br />
This is the only repository that can have name collisions with any of the other official repositories. If enabled, it has to be the first repository listed in your {{ic|/etc/pacman.conf}} file.<br />
<br />
Note that it's not for the "newest of the new" package versions. Part of its purpose is to hold package updates that have the potential to '''cause system breakage''', either by being part of the [core] set of packages, or by being critical in other ways. As such, users of the [testing] repository are '''strongly encouraged''' to subscribe to the [https://mailman.archlinux.org/mailman/listinfo/arch-dev-public arch-dev-public] mailing list, watch the [https://bbs.archlinux.org/viewforum.php?id=49 <nowiki>[testing]</nowiki> Repository Forum], and to [https://bugs.archlinux.org/ report] all bugs.<br />
<br />
If you enable [testing], you must also enable [community-testing].<br />
<br />
== [community-testing] ==<br />
<br />
This repository is like the [testing] repository, but for packages that are candidates for the [community] repository.<br />
<br />
If you enable it, you must also enable [testing].<br />
<br />
== [multilib-testing] ==<br />
<br />
This repository is like the [testing] repository, but for packages that are candidates for the [multilib] repository.<br />
<br />
If you enable it, you must also enable [testing].</div>Abd allatifhttps://wiki.archlinux.org/index.php?title=Archiso_(%D8%A7%D9%84%D8%B9%D8%B1%D8%A8%D9%8A%D8%A9)&diff=267876Archiso (العربية)2013-07-25T10:41:13Z<p>Abd allatif: /* USB */</p>
<hr />
<div>[[Category:Live Arch systems (العربية)]]<br />
[[Category:العربية]]<br />
[[el:Archiso]]<br />
[[en:Archiso]]<br />
[[es:Archiso]]<br />
[[fr:Archiso]]<br />
[[it:Archiso]]<br />
[[nl:Archiso]]<br />
[[ru:Archiso]]<br />
[[uk:Archiso]]<br />
<br />
<div align=right dir=rtl><br />
'''Archiso''' هي مجموعة صغيرة من البرامج النصية الخاصة بالصدفة bash قادرة على بناء صورة لقرص إقلاعي سواءً أكان CD أو USB لتوزيعة Arch Linux , هذه الأداة عامة جداً , لذا فهي تُتيح لك إمكانية توليد العديد من أنواع الأقراص : بدءًا من أنظمة الإستعادة وحتى أقراص التنصيب و الأقراص الحية CD/DVD/USB .<br />
ببساطة إن كانت تتضمن Arch على إسطوانة براقة فهي قادرة على فعل ذلك.<br />
تعد الأداة mkarchiso بمثابة القلب والروح بالنسبة ل Archiso .جميع خيارات هذه الأداة تم توثيقها في مخرجات الاستخدام , لذا استخدامها المباشر لن يتم التطرق إليه هنا . يساعدك مقال الويكي التالي على إنشاء قرصك الحي في وقت بالغ القصر .<br />
<br />
== الإعداد==<br />
{{Box BLUE| ملاحظة | البرنامج النصي التالي يجب استخدامه على جهاز يعمل بمعمارية x86_64}}. قبل البدء يجب عليك [[pacman|تنصيب]]{{Pkg|archiso}} من [[official repositories| المستودعات الرسمية]] بشكل آخر يمكنك الحصول عليه من [[AUR]].<br />
قم بإنشاء مجلد جديد لكي تعمل داخله , هذا المجلد يحتوي على جميع التعديلات الي ستجري على القرص الحي : {{ic|~/archlive}} سيكون مناسباً .<br />
<div align=left dir=ltr><br />
$ mkdir ~/archlive<br />
</div> <br />
البرامج النصية الخاصة بالحزمة Archiso التي تم تنصيبها على الجهاز المُضيف host مسبقا يجب نقلها الى المجلد الجديد الذي تم إنشاؤه , Archiso يأتي "profiles" بنمطين : ''releng'' و ''baseline''. , إذا اردت إنشاء قرص حي مُخصص بشكل كبير من Arch Linux يكون منصباً عليها جميع البرامج التي تريدها بالإضافة الى الإعددات قم باستخدم ''releng''.<br />
وأما إذا أردت فقط إنشاء قرص إقلاعي بسيط لا يحتوي على برامج مسبقة التثبيت و يحوي الحد الأدنى من الإعدادات استخدم ''baseline''.<br />
لذا حسب احتياجاتك قم بتنفيذ التعليمة التالية مستبدلاً كلمة 'PROFILE' وضع إحدى الكلمتين : '''releng''' أو '''baseline'''.<br />
<div align=left dir=ltr><br />
# cp -r /usr/share/archiso/configs/'''PROFILE'''/ ~USER/archlive<br />
</div><br />
إذا كنت تستخدم نمط ''releng'' لإنشاء قرص كامل التخصيص يجب عليك الانتقال الى الخطوة [[#إعداد القرص الحي]]. <br />
أما إذا كنت تستخدم نمط ''baseline'' لإنشاء قرص حي بسيط , لذا فإنك لا تحتاج الى أي تعديلات او تخصيصات و يمكنك مباشرة الإنتقال الى الخطوة [[#بناء ملف ISO]].<br />
<br />
== إعداد القرص الحي ==<br />
هذا القسم يُفصل كيفية تهيئة إعدادت صورة القرص الحي الذي ستقوم بإنشائه سامحاً لك بتحديد الحزم و الإعدادات التي ترغب في تضمينها الى صورة القرص .<br />
الآن إنتقل الى المجلد الذي قمت بإنشائه مسبقاً (~/archlive/releng/ اذا كنت تتبع خطوات هذا الدليل) ستشاهد عدداً من الملفات والمجلدات :<br />
:داخله , نحن مهتمون بعدد منها فحسب , بشكل رئيسي <br />
packages.* هنا نقوم سطرًا بسطر بإنشاء قائمة للحزم التي تريد تنصيبها , هذا المجلد root-image وهو المجلد الجذر لصورة القرص الذي يعمل كطبقة فوقية حيث يحتوي على جميع التغيرات التي سنقوم بها .<br />
<br />
=== تنصيب الحزم ===<br />
عليك إنشاء قائمة بالحزم التي تريد تنصيبها على القرص الحي ; بإنشاء ملف يحوي على أسماء الحزم كاملةً حيث يجب أن يكون هنالك اسم حزمة واحدة في كل سطر , هذه الجزئية '''''عظيمة القدر'''' حيث تسمح لك بإنشاء أقراص حية ذات توجه مُعين , فقط عليك تحديد الحزم التي تُريد ومن م القيام بإنشاء ملف iso الخاص بالقرص .<br />
الملفان packages.i686 و packages.x86_64 يسمحان لك بتحديد الحزم التي التي سيتم تنصيبها على معماريات 32 bit أو 64 bit على و الترتيب .<br />
{{Box GREEN| تلميحة : | <br />
يمكنك أيضا إنشاء مستودع محلي خاص بك '''[[custom local repository]]''' أو باستخدام الحزم من [[AUR]]/[[ABS]]. , عليك فقط إضافة مستودعك المحلي في أعلى الملف '''pacman.conf''' للحصول على أولوية عن باقي المستودعات، ثم انطلق .}}<br />
يُفضل تنصيب "rsync" إذا أردت تنصيب النظام الذي تُريد إنشاؤه في وقت لاحق دون الحاجة الى وجود اتصال بالإنترنت أو لتجاوز خطوة إعادة تحميل الحزم مرة اخرى .([[#التنصيب]])<br />
<br />
=== إضافة مستخدم ===<br />
توجد طريقتان لإنشاء المستخدمين ; أما بإضافة تعليمة useradd المناسبة الى ملف rc.local أو عن طريق نسخ و تعديل الملفات التالية /etc/shadow, /etc/passwd, و /etc/group الطريقة الأخيرة سيتم اعتمادها بالشرح هنا .<br />
في البداية انسخ ملفات /etc/shadow, /etc/passwd, و /etc/group من النظام المُضيف '''host''' الذي تستخدمه في بناء القرص الحي إلى المجلد /etc/ '''الخاص بالنظام الجديد على القرص الحي''' : والذي ينبغي أن يكون /archlive/releng/root-image/etc/~.<br />
<br />
<br />
<div align=left dir=ltr><br />
# cp /etc/{shadow,passwd,group} ~/archlive/releng/root-image/etc/<br />
</div> <br />
<br />
{{Box RED | تحذير: | : ملف shadow الذي قمت بنسخه يحتوي على كلمة المرور الخاصة بك و التي سيستخدمها مُستخدم القرص الحي , <br />
لذا يُفضل تغيير كلمة المرور الخاصة بك قبل نسخ ملف shadow على القرص الحي ، قم بتغيير كلمة مرور النظام المضيف التي تريد أن يستخدمها مستخدم القرص الحي، ثم بعدها قم بالعودة إلى كلمة السر خاصتك.}}<br />
<br />
=== إضافة ملفات إلى صورة القرص الحي ===<br />
{{Box BLUE| ملاحظة :| يجب أن تكون مستخدماً مديراً للنظام (مستخدم جذر root) للقيام بهذه ''' المهمة , لا تقم بتغيير ملكية أي ملف تقوم بنسخه . <br />
'''جميع الملفات''' الموجودة داخل المجلد الجذر / يجب أن تكون مملوكة للمستخدم root سيتم فرز الملكيات في وقت قصير.}}<br />
إن مجلد root-image يُمثل صندوقاً يحتوي على الملفات الموجودة في اعتبره كالمجلد الجذر '/' في نظامك الحالي، لذا كل الملفات التي تضعها في هذا المجلد سيتم نسخها على القرص الحي<br />
لذا في حال كان لديك نسخة من برامج النصية iptables على نظامك الحالي الخاصة ببرنامج و أردت إستخدامها في القرص الحي يمكنك نسخها باستخدام التعليمة التالية :<br />
<br />
<div align=left dir=ltr> <br />
# cp -r /etc/iptables ~/archlive/releng/root-image/etc<br />
</div> <br />
لكن وضع الملفات داخل مجلد المنزل للمستخدمين مختلف قليلاً حيث لا يمكن وضعهم مباشرة ضمن المجلد root-image/home , وإنما ستقوم بإنشاء مجلد skel داخل root-image وتقوم بوضع الملفات هناك وبعد ذلك تقوم بإضافة التعليمات المناسبة لملف rc.local التي تقوم بنسخ هذه الملفات الى مجلد المنزل الخاص بالمستخدم عند الإقلاع و تقوم بإعطاء الصلاحيات المناسبة لها .<br />
في البداية أنشئ مجلد skel ويجب عليك التأكد من أنك داخل المجلد :<br />
/archlive/releng/root-image/etc/~ (إذا كنت تعمل من خلاله):<br />
<br />
<div align=left dir=ltr> <br />
# cd ~/archlive/releng/root-image/etc && mkdir skel<br />
</div> <br />
الآن قم بنسخ الملفات الموجودة داخل مجلد المنزل 'home' في النظام المُضيف الى داخل مجلد skel , تذكر بأنه يجب عليك تطبيق جميع التعليمات كمستخدم جذر root فمثلا بخصوص ملف bashrc :<br />
<div align=left dir=ltr> <br />
# cp ~/.bashrc ~/archlive/releng/root-image/etc/skel/<br />
</div> <br />
لآن داخل مجلد root-image/etc/ قم بإنشاء ملف rc.local '''وتأكد ''' من أنك أعطيت الملف صلاحيات التنفيذ <br />
<br />
<div align=left dir=ltr> <br />
# cd ~/archlive/releng/root-image/etc && touch rc.local && chmod +x rc.local<br />
</div> <br />
الآن قم بإضافة السطور التالية الى ملف rc.local مُستبدلاً كلمة 'youruser' باسم المستخدم الذي قُمت بتحديده <br />
<br />
# قم بإنشاء مجلد المستخدم للجلسة الحية<br />
<div align=left dir=ltr> <br />
if [ ! -d /home/'''youruser''' ]; then<br />
mkdir /home/'''youruser''' && chown '''youruser''' /home/'''youruser'''<br />
fi<br />
</div> <br />
# انسخ الملفات إلى مجلد المنزل.<br />
<div align=left dir=ltr> <br />
su -c "cp -r /etc/skel/.* /home/'''youruser'''/" '''youruser'''<br />
</div><br />
<br />
=== aitab ===<br />
الملف الافتراضي يجب أن يعمل بشكل جيد , لذا لا تقم بتعديله .<br />
ملف aitab يحتوي معلومات حول حول انظمة الملفات الخاصة بالصور التي يتم إنشاءها بواسطة mkarchiso ويتم وصلها -mount- في مرحلة initramfs من خلال خطاف archiso hook.<br />
وهي تتألف من بعض الحقول التي تُحدد سلوك الصور<br />
<div align=left dir=ltr> <br />
# <img> <mnt> <arch> <sfs_comp> <fs_type> <fs_size><br />
</div><br />
; <img>: اسم الصورة بدون لاحقة (.fs .fs.sfs .sfs).<br />
; <mnt>: نقظة الوصل.<br />
; <arch>: المعماريات{ i686 | x86_64 | any }.<br />
; <sfs_comp>: نوع ضغط نظام الملفات SquashFS { gzip | lzo | xz }.<br />
; <fs_type>: ضع نوع نظام الملفات الخاص بالصورة { ext4 | ext3 | ext2 | xfs }.قيمة خاصة من "none" يدل على عدم استخدام أي نظام الملفات<br />
<br />
توضع الملفات مباشرة إلى نظام ملفات في هذه الحالة SquashFS.<br />
<br />
; <fs_size>:بايت الصورة قيمة محددة لحجم نظام ملفات بالميجا (مثال : 100, 1000, 4096, إلخ) <br />
قيمة بديلة للمساحة الخالية على نظام الملفات [بالنسبة المئوية] {1%..99%} (مثال 50%, 10%, 7%).هذه قيمة تقديرية وتحسب بطريقة بسيطة <br />
المساحة المستخدمة + 10% (مقدرة للحمل الزائد) + المطلوب %<br />
<br />
{{Note|Some combinations are invalid. Example both sfs_comp and fs_type are set to none}}<br />
<br />
=== محمل الإقلاع ===<br />
الملف الإفتراضي يجب أن يعمل بشكل جيد , لا تقم بتعديله .<br />
<br />
بسبب الطبيعة الواحدية لـ isolinux , فيمكنك استخدام العديد من الإضافات لطالما جميع ملفات *.c32 تم نسخها و هي متوفرة لديك و يمكنك إلقاء نظرة سريعة على [http://syslinux.zytor.com/wiki/index.php/SYSLINUX الرسمي syslinux موقع] بالإضافة الى [https://projects.archlinux.org/archiso.git/tree/configs/syslinux-iso/boot-files archiso git repo]. باستخدام الإضافات يمكنك إنشاء قوائم ذات مظهر جميل و معقد بآن واحد , شاهد المثال [http://syslinux.zytor.com/wiki/index.php/Comboot/menu.c32 هنا].<br />
<br />
=== مدير تسجيل الدخول ===<br />
<br />
تشغيل X في زمن الإقلاع كان يتم عن طريق تعديل inittab في الأنظمة التي تعتمد على sysvinit , في انظمة systemd يتم تفعيل ذلك عن طريق تفعيل خدمة تسجيل الدخول الخاصة بك . إذا كنت تعرف أي ملف .service يحتاج الى رابط softlink فهذا شيئ جيد , أما إذا لم تكن تعرف ذلك فيمكنك ببساطة إيجاده إذا كنت الخدمة ذاتها في النظام المُضيف الذي تقوم بإنشاء القرص الحي عليه فقط قم بتنفيذ التعليمة التالية <br />
<div align=left dir=ltr> <br />
# systemctl disable '''nameofyourloginmanager'''<br />
</div><br />
لكي توقف عمله مؤقتاً . الآن قم بإعادة كتابة التعليمة السابقة مع إستبدال كلمة disable بكلمة enable لإعادة تفعيلها مرة اخرى , Systemctl يقوم بإظهار معلومات عن الروابط التي يقوم بإنشاءها . الآن إنتقل الى المجلد ~/archiso/releng/root-image/etc/systemd/system وقم بإنشاء الرابط softlink ذاته <br />
<br />
<div align=left dir=ltr> <br />
# ln -s /usr/lib/systemd/system/lxdm.service display-manager.service<br />
</div><br />
التعليمة السابقة ستقوم بتفعيل واجهة LXDE كواجهة إفتراضية للنظام الحي .<br />
<br />
== بناء ملف ISO ==<br />
<br />
الآن انت جاهز لتحويل ملفاتك الى صورة قرص من صيغة ISO و من ثم حرقها على إسطوانة CD أو على USB , داخل المجلد الذي تعمل فيه سواءً كان ~/archlive/releng, أو ~/archlive/baseline قم بتنفيذ التعليمة التالية :<br />
<div align=left dir=ltr><br />
# ./build.sh -v<br />
</div><br />
البرنامج النصي سيقوم الآن بتحميل و تنصيب الحزم التي قُمت بتحديدها , يقوم بإنشاء صور للنواة و init , و تطبيق تعديلاتك ومن ثم يقوم ببناء ملف ISO في مجلد out/<br />
<br />
== استخدام ملف ISO ==<br />
=== CD ===<br />
يمكنك حرق ملف ISO الى قرص cd , يمكنك إتباع دليل [[CD Burning]] كما تريد .<br />
=== USB ===<br />
يمكنك نسخ ملف ISO الى قرص USB عن طريق تعليمة dd :<br />
# dd if=~/archlive/releng/out/*.iso of=/dev/sdx<br />
عليك تعديل التعليمة السابقة لكي توافق إحتياجاتك , لكن يجب التنبيه أن خطأ صغير في القسم الثاني من التعليمة يمكن أن يؤدي الى فقدان المعلومات في القرص الصلب<br />
<br />
=== grub4dos ===<br />
الأداة grub4dos تسمح لك بإنشاء USB مُتعددة الإقلاع يمكنها الإقلاع من أكثرمن توزيعة linux على USB ذاتها . <br />
<br />
لإقلاع القرص الحي الذي قمت بإنشاءه من USB تحوي على grub4dos مُنصب مسبقاً عليك وصل ملف iso الذي قمت بإنشاءه loop mount و من ثم تقوم بنسخ المجلد {{ic|/arch}} بكافة محتوياته الى المجلد الرئيسي للـ USB . ثم تقوم بتعديل ملف<br />
{{ic|menu.lst}} الخاص ببرنامج grub4dos و إضافة الأسطر التالية :<br />
{{bc|<nowiki><br />
title Archlinux x86_64<br />
kernel /arch/boot/x86_64/vmlinuz archisolabel=<your usb label><br />
initrd /arch/boot/x86_64/archiso.img<br />
</nowiki>}}<br />
قم بتعديل x86_64 حسب المعمارية التي تستخدمها و قم بوضع اسم قرص USB الخاص بك عوضاً عن <your usb label> .<br />
<br />
=== التنصيب===<br />
<br />
Boot the created CD/DVD/USB. If you wish to install the Archiso you created '''-as it is-''', there are several ways to do this, but either way we're following the [[Beginners' Guide]] mostly.<br />
<br />
If you don't have an internet connection on that PC, or if you don't want to download every packages you want again, follow the guide, and when you get to [[Beginners' Guide#Install_the_base_system]], instead of downloading, use this: [[Full System Backup with rsync]]. (more info here: [[Talk:Archiso]])<br />
<br />
You can also try: [[Archboot]], GUI installer.<br />
<br />
== See also ==<br />
*[https://projects.archlinux.org/?p=archiso.git;a=summary Archiso project page]<br />
*[[Archiso_as_pxe_server|Archiso as pxe server]]<br />
*[https://kroweer.wordpress.com/2011/09/07/creating-a-custom-arch-linux-live-usb Step-by-step tutorial on using ArchISO]<br />
*[http://didjix.blogspot.com/ A live DJ distribution powered by ArchLinux and built with Archiso]</div>Abd allatifhttps://wiki.archlinux.org/index.php?title=Archiso_(%D8%A7%D9%84%D8%B9%D8%B1%D8%A8%D9%8A%D8%A9)&diff=267875Archiso (العربية)2013-07-25T10:21:11Z<p>Abd allatif: </p>
<hr />
<div>[[Category:Live Arch systems (العربية)]]<br />
[[Category:العربية]]<br />
[[el:Archiso]]<br />
[[en:Archiso]]<br />
[[es:Archiso]]<br />
[[fr:Archiso]]<br />
[[it:Archiso]]<br />
[[nl:Archiso]]<br />
[[ru:Archiso]]<br />
[[uk:Archiso]]<br />
<br />
<div align=right dir=rtl><br />
'''Archiso''' هي مجموعة صغيرة من البرامج النصية الخاصة بالصدفة bash قادرة على بناء صورة لقرص إقلاعي سواءً أكان CD أو USB لتوزيعة Arch Linux , هذه الأداة عامة جداً , لذا فهي تُتيح لك إمكانية توليد العديد من أنواع الأقراص : بدءًا من أنظمة الإستعادة وحتى أقراص التنصيب و الأقراص الحية CD/DVD/USB .<br />
ببساطة إن كانت تتضمن Arch على إسطوانة براقة فهي قادرة على فعل ذلك.<br />
تعد الأداة mkarchiso بمثابة القلب والروح بالنسبة ل Archiso .جميع خيارات هذه الأداة تم توثيقها في مخرجات الاستخدام , لذا استخدامها المباشر لن يتم التطرق إليه هنا . يساعدك مقال الويكي التالي على إنشاء قرصك الحي في وقت بالغ القصر .<br />
<br />
== الإعداد==<br />
{{Box BLUE| ملاحظة | البرنامج النصي التالي يجب استخدامه على جهاز يعمل بمعمارية x86_64}}. قبل البدء يجب عليك [[pacman|تنصيب]]{{Pkg|archiso}} من [[official repositories| المستودعات الرسمية]] بشكل آخر يمكنك الحصول عليه من [[AUR]].<br />
قم بإنشاء مجلد جديد لكي تعمل داخله , هذا المجلد يحتوي على جميع التعديلات الي ستجري على القرص الحي : {{ic|~/archlive}} سيكون مناسباً .<br />
<div align=left dir=ltr><br />
$ mkdir ~/archlive<br />
</div> <br />
البرامج النصية الخاصة بالحزمة Archiso التي تم تنصيبها على الجهاز المُضيف host مسبقا يجب نقلها الى المجلد الجديد الذي تم إنشاؤه , Archiso يأتي "profiles" بنمطين : ''releng'' و ''baseline''. , إذا اردت إنشاء قرص حي مُخصص بشكل كبير من Arch Linux يكون منصباً عليها جميع البرامج التي تريدها بالإضافة الى الإعددات قم باستخدم ''releng''.<br />
وأما إذا أردت فقط إنشاء قرص إقلاعي بسيط لا يحتوي على برامج مسبقة التثبيت و يحوي الحد الأدنى من الإعدادات استخدم ''baseline''.<br />
لذا حسب احتياجاتك قم بتنفيذ التعليمة التالية مستبدلاً كلمة 'PROFILE' وضع إحدى الكلمتين : '''releng''' أو '''baseline'''.<br />
<div align=left dir=ltr><br />
# cp -r /usr/share/archiso/configs/'''PROFILE'''/ ~USER/archlive<br />
</div><br />
إذا كنت تستخدم نمط ''releng'' لإنشاء قرص كامل التخصيص يجب عليك الانتقال الى الخطوة [[#إعداد القرص الحي]]. <br />
أما إذا كنت تستخدم نمط ''baseline'' لإنشاء قرص حي بسيط , لذا فإنك لا تحتاج الى أي تعديلات او تخصيصات و يمكنك مباشرة الإنتقال الى الخطوة [[#بناء ملف ISO]].<br />
<br />
== إعداد القرص الحي ==<br />
هذا القسم يُفصل كيفية تهيئة إعدادت صورة القرص الحي الذي ستقوم بإنشائه سامحاً لك بتحديد الحزم و الإعدادات التي ترغب في تضمينها الى صورة القرص .<br />
الآن إنتقل الى المجلد الذي قمت بإنشائه مسبقاً (~/archlive/releng/ اذا كنت تتبع خطوات هذا الدليل) ستشاهد عدداً من الملفات والمجلدات :<br />
:داخله , نحن مهتمون بعدد منها فحسب , بشكل رئيسي <br />
packages.* هنا نقوم سطرًا بسطر بإنشاء قائمة للحزم التي تريد تنصيبها , هذا المجلد root-image وهو المجلد الجذر لصورة القرص الذي يعمل كطبقة فوقية حيث يحتوي على جميع التغيرات التي سنقوم بها .<br />
<br />
=== تنصيب الحزم ===<br />
عليك إنشاء قائمة بالحزم التي تريد تنصيبها على القرص الحي ; بإنشاء ملف يحوي على أسماء الحزم كاملةً حيث يجب أن يكون هنالك اسم حزمة واحدة في كل سطر , هذه الجزئية '''''عظيمة القدر'''' حيث تسمح لك بإنشاء أقراص حية ذات توجه مُعين , فقط عليك تحديد الحزم التي تُريد ومن م القيام بإنشاء ملف iso الخاص بالقرص .<br />
الملفان packages.i686 و packages.x86_64 يسمحان لك بتحديد الحزم التي التي سيتم تنصيبها على معماريات 32 bit أو 64 bit على و الترتيب .<br />
{{Box GREEN| تلميحة : | <br />
يمكنك أيضا إنشاء مستودع محلي خاص بك '''[[custom local repository]]''' أو باستخدام الحزم من [[AUR]]/[[ABS]]. , عليك فقط إضافة مستودعك المحلي في أعلى الملف '''pacman.conf''' للحصول على أولوية عن باقي المستودعات، ثم انطلق .}}<br />
يُفضل تنصيب "rsync" إذا أردت تنصيب النظام الذي تُريد إنشاؤه في وقت لاحق دون الحاجة الى وجود اتصال بالإنترنت أو لتجاوز خطوة إعادة تحميل الحزم مرة اخرى .([[#التنصيب]])<br />
<br />
=== إضافة مستخدم ===<br />
توجد طريقتان لإنشاء المستخدمين ; أما بإضافة تعليمة useradd المناسبة الى ملف rc.local أو عن طريق نسخ و تعديل الملفات التالية /etc/shadow, /etc/passwd, و /etc/group الطريقة الأخيرة سيتم اعتمادها بالشرح هنا .<br />
في البداية انسخ ملفات /etc/shadow, /etc/passwd, و /etc/group من النظام المُضيف '''host''' الذي تستخدمه في بناء القرص الحي إلى المجلد /etc/ '''الخاص بالنظام الجديد على القرص الحي''' : والذي ينبغي أن يكون /archlive/releng/root-image/etc/~.<br />
<br />
<br />
<div align=left dir=ltr><br />
# cp /etc/{shadow,passwd,group} ~/archlive/releng/root-image/etc/<br />
</div> <br />
<br />
{{Box RED | تحذير: | : ملف shadow الذي قمت بنسخه يحتوي على كلمة المرور الخاصة بك و التي سيستخدمها مُستخدم القرص الحي , <br />
لذا يُفضل تغيير كلمة المرور الخاصة بك قبل نسخ ملف shadow على القرص الحي ، قم بتغيير كلمة مرور النظام المضيف التي تريد أن يستخدمها مستخدم القرص الحي، ثم بعدها قم بالعودة إلى كلمة السر خاصتك.}}<br />
<br />
=== إضافة ملفات إلى صورة القرص الحي ===<br />
{{Box BLUE| ملاحظة :| يجب أن تكون مستخدماً مديراً للنظام (مستخدم جذر root) للقيام بهذه ''' المهمة , لا تقم بتغيير ملكية أي ملف تقوم بنسخه . <br />
'''جميع الملفات''' الموجودة داخل المجلد الجذر / يجب أن تكون مملوكة للمستخدم root سيتم فرز الملكيات في وقت قصير.}}<br />
إن مجلد root-image يُمثل صندوقاً يحتوي على الملفات الموجودة في اعتبره كالمجلد الجذر '/' في نظامك الحالي، لذا كل الملفات التي تضعها في هذا المجلد سيتم نسخها على القرص الحي<br />
لذا في حال كان لديك نسخة من برامج النصية iptables على نظامك الحالي الخاصة ببرنامج و أردت إستخدامها في القرص الحي يمكنك نسخها باستخدام التعليمة التالية :<br />
<br />
<div align=left dir=ltr> <br />
# cp -r /etc/iptables ~/archlive/releng/root-image/etc<br />
</div> <br />
لكن وضع الملفات داخل مجلد المنزل للمستخدمين مختلف قليلاً حيث لا يمكن وضعهم مباشرة ضمن المجلد root-image/home , وإنما ستقوم بإنشاء مجلد skel داخل root-image وتقوم بوضع الملفات هناك وبعد ذلك تقوم بإضافة التعليمات المناسبة لملف rc.local التي تقوم بنسخ هذه الملفات الى مجلد المنزل الخاص بالمستخدم عند الإقلاع و تقوم بإعطاء الصلاحيات المناسبة لها .<br />
في البداية أنشئ مجلد skel ويجب عليك التأكد من أنك داخل المجلد :<br />
/archlive/releng/root-image/etc/~ (إذا كنت تعمل من خلاله):<br />
<br />
<div align=left dir=ltr> <br />
# cd ~/archlive/releng/root-image/etc && mkdir skel<br />
</div> <br />
الآن قم بنسخ الملفات الموجودة داخل مجلد المنزل 'home' في النظام المُضيف الى داخل مجلد skel , تذكر بأنه يجب عليك تطبيق جميع التعليمات كمستخدم جذر root فمثلا بخصوص ملف bashrc :<br />
<div align=left dir=ltr> <br />
# cp ~/.bashrc ~/archlive/releng/root-image/etc/skel/<br />
</div> <br />
لآن داخل مجلد root-image/etc/ قم بإنشاء ملف rc.local '''وتأكد ''' من أنك أعطيت الملف صلاحيات التنفيذ <br />
<br />
<div align=left dir=ltr> <br />
# cd ~/archlive/releng/root-image/etc && touch rc.local && chmod +x rc.local<br />
</div> <br />
الآن قم بإضافة السطور التالية الى ملف rc.local مُستبدلاً كلمة 'youruser' باسم المستخدم الذي قُمت بتحديده <br />
<br />
# قم بإنشاء مجلد المستخدم للجلسة الحية<br />
<div align=left dir=ltr> <br />
if [ ! -d /home/'''youruser''' ]; then<br />
mkdir /home/'''youruser''' && chown '''youruser''' /home/'''youruser'''<br />
fi<br />
</div> <br />
# انسخ الملفات إلى مجلد المنزل.<br />
<div align=left dir=ltr> <br />
su -c "cp -r /etc/skel/.* /home/'''youruser'''/" '''youruser'''<br />
</div><br />
<br />
=== aitab ===<br />
الملف الافتراضي يجب أن يعمل بشكل جيد , لذا لا تقم بتعديله .<br />
ملف aitab يحتوي معلومات حول حول انظمة الملفات الخاصة بالصور التي يتم إنشاءها بواسطة mkarchiso ويتم وصلها -mount- في مرحلة initramfs من خلال خطاف archiso hook.<br />
وهي تتألف من بعض الحقول التي تُحدد سلوك الصور<br />
<div align=left dir=ltr> <br />
# <img> <mnt> <arch> <sfs_comp> <fs_type> <fs_size><br />
</div><br />
; <img>: اسم الصورة بدون لاحقة (.fs .fs.sfs .sfs).<br />
; <mnt>: نقظة الوصل.<br />
; <arch>: المعماريات{ i686 | x86_64 | any }.<br />
; <sfs_comp>: نوع ضغط نظام الملفات SquashFS { gzip | lzo | xz }.<br />
; <fs_type>: ضع نوع نظام الملفات الخاص بالصورة { ext4 | ext3 | ext2 | xfs }.قيمة خاصة من "none" يدل على عدم استخدام أي نظام الملفات<br />
<br />
توضع الملفات مباشرة إلى نظام ملفات في هذه الحالة SquashFS.<br />
<br />
; <fs_size>:بايت الصورة قيمة محددة لحجم نظام ملفات بالميجا (مثال : 100, 1000, 4096, إلخ) <br />
قيمة بديلة للمساحة الخالية على نظام الملفات [بالنسبة المئوية] {1%..99%} (مثال 50%, 10%, 7%).هذه قيمة تقديرية وتحسب بطريقة بسيطة <br />
المساحة المستخدمة + 10% (مقدرة للحمل الزائد) + المطلوب %<br />
<br />
{{Note|Some combinations are invalid. Example both sfs_comp and fs_type are set to none}}<br />
<br />
=== محمل الإقلاع ===<br />
الملف الإفتراضي يجب أن يعمل بشكل جيد , لا تقم بتعديله .<br />
<br />
بسبب الطبيعة الواحدية لـ isolinux , فيمكنك استخدام العديد من الإضافات لطالما جميع ملفات *.c32 تم نسخها و هي متوفرة لديك و يمكنك إلقاء نظرة سريعة على [http://syslinux.zytor.com/wiki/index.php/SYSLINUX الرسمي syslinux موقع] بالإضافة الى [https://projects.archlinux.org/archiso.git/tree/configs/syslinux-iso/boot-files archiso git repo]. باستخدام الإضافات يمكنك إنشاء قوائم ذات مظهر جميل و معقد بآن واحد , شاهد المثال [http://syslinux.zytor.com/wiki/index.php/Comboot/menu.c32 هنا].<br />
<br />
=== مدير تسجيل الدخول ===<br />
<br />
تشغيل X في زمن الإقلاع كان يتم عن طريق تعديل inittab في الأنظمة التي تعتمد على sysvinit , في انظمة systemd يتم تفعيل ذلك عن طريق تفعيل خدمة تسجيل الدخول الخاصة بك . إذا كنت تعرف أي ملف .service يحتاج الى رابط softlink فهذا شيئ جيد , أما إذا لم تكن تعرف ذلك فيمكنك ببساطة إيجاده إذا كنت الخدمة ذاتها في النظام المُضيف الذي تقوم بإنشاء القرص الحي عليه فقط قم بتنفيذ التعليمة التالية <br />
<div align=left dir=ltr> <br />
# systemctl disable '''nameofyourloginmanager'''<br />
</div><br />
لكي توقف عمله مؤقتاً . الآن قم بإعادة كتابة التعليمة السابقة مع إستبدال كلمة disable بكلمة enable لإعادة تفعيلها مرة اخرى , Systemctl يقوم بإظهار معلومات عن الروابط التي يقوم بإنشاءها . الآن إنتقل الى المجلد ~/archiso/releng/root-image/etc/systemd/system وقم بإنشاء الرابط softlink ذاته <br />
<br />
<div align=left dir=ltr> <br />
# ln -s /usr/lib/systemd/system/lxdm.service display-manager.service<br />
</div><br />
التعليمة السابقة ستقوم بتفعيل واجهة LXDE كواجهة إفتراضية للنظام الحي .<br />
<br />
== بناء ملف ISO ==<br />
<br />
الآن انت جاهز لتحويل ملفاتك الى صورة قرص من صيغة ISO و من ثم حرقها على إسطوانة CD أو على USB , داخل المجلد الذي تعمل فيه سواءً كان ~/archlive/releng, أو ~/archlive/baseline قم بتنفيذ التعليمة التالية :<br />
<div align=left dir=ltr><br />
# ./build.sh -v<br />
</div><br />
البرنامج النصي سيقوم الآن بتحميل و تنصيب الحزم التي قُمت بتحديدها , يقوم بإنشاء صور للنواة و init , و تطبيق تعديلاتك ومن ثم يقوم ببناء ملف ISO في مجلد out/<br />
<br />
== استخدام ملف ISO ==<br />
=== CD ===<br />
يمكنك حرق ملف ISO الى قرص cd , يمكنك إتباع دليل [[CD Burning]] كما تريد .<br />
=== USB ===<br />
يمكنك نسخ ملف ISO الى قرص USB عن طريق تعليمة dd :<br />
# dd if=~/archlive/releng/out/*.iso of=/dev/sdx<br />
عليك تعديل التعليمة السابقة لكي توافق إحتياجاتك , لكن يجب التنبيه أن خطأ صغير في القسم الثاني من التعليمة يمكن أن يؤدي الى فقدانك للعلومات في قرصك الصلب<br />
=== grub4dos ===<br />
الأداة grub4dos تسمح لك بإنشاء USB مُتعددة الإقلاع يمكنها الإقلاع من أكثرمن توزيعة linux على USB ذاتها . <br />
<br />
لإقلاع القرص الحي الذي قمت بإنشاءه من USB تحوي على grub4dos مُنصب مسبقاً عليك وصل ملف iso الذي قمت بإنشاءه loop mount و من ثم تقوم بنسخ المجلد {{ic|/arch}} بكافة محتوياته الى المجلد الرئيسي للـ USB . ثم تقوم بتعديل ملف<br />
{{ic|menu.lst}} الخاص ببرنامج grub4dos و إضافة الأسطر التالية :<br />
{{bc|<nowiki><br />
title Archlinux x86_64<br />
kernel /arch/boot/x86_64/vmlinuz archisolabel=<your usb label><br />
initrd /arch/boot/x86_64/archiso.img<br />
</nowiki>}}<br />
قم بتعديل x86_64 حسب المعمارية التي تستخدمها و قم بوضع اسم قرص USB الخاص بك عوضاً عن <your usb label> .<br />
<br />
=== التنصيب===<br />
<br />
Boot the created CD/DVD/USB. If you wish to install the Archiso you created '''-as it is-''', there are several ways to do this, but either way we're following the [[Beginners' Guide]] mostly.<br />
<br />
If you don't have an internet connection on that PC, or if you don't want to download every packages you want again, follow the guide, and when you get to [[Beginners' Guide#Install_the_base_system]], instead of downloading, use this: [[Full System Backup with rsync]]. (more info here: [[Talk:Archiso]])<br />
<br />
You can also try: [[Archboot]], GUI installer.<br />
<br />
== See also ==<br />
*[https://projects.archlinux.org/?p=archiso.git;a=summary Archiso project page]<br />
*[[Archiso_as_pxe_server|Archiso as pxe server]]<br />
*[https://kroweer.wordpress.com/2011/09/07/creating-a-custom-arch-linux-live-usb Step-by-step tutorial on using ArchISO]<br />
*[http://didjix.blogspot.com/ A live DJ distribution powered by ArchLinux and built with Archiso]</div>Abd allatifhttps://wiki.archlinux.org/index.php?title=Archiso_(%D8%A7%D9%84%D8%B9%D8%B1%D8%A8%D9%8A%D8%A9)&diff=267874Archiso (العربية)2013-07-25T10:15:25Z<p>Abd allatif: </p>
<hr />
<div>[[Category:Live Arch systems (العربية)]]<br />
[[Category:العربية]]<br />
[[el:Archiso]]<br />
[[en:Archiso]]<br />
[[es:Archiso]]<br />
[[fr:Archiso]]<br />
[[it:Archiso]]<br />
[[nl:Archiso]]<br />
[[ru:Archiso]]<br />
[[uk:Archiso]]<br />
<br />
<div align=right dir=rtl><br />
'''Archiso''' هي مجموعة صغيرة من البرامج النصية الخاصة بالصدفة bash قادرة على بناء صورة لقرص إقلاعي سواءً أكان CD أو USB لتوزيعة Arch Linux , هذه الأداة عامة جداً , لذا فهي تُتيح لك إمكانية توليد العديد من أنواع الأقراص : بدءًا من أنظمة الإستعادة وحتى أقراص التنصيب و الأقراص الحية CD/DVD/USB .<br />
ببساطة إن كانت تتضمن Arch على إسطوانة براقة فهي قادرة على فعل ذلك.<br />
تعد الأداة mkarchiso بمثابة القلب والروح بالنسبة ل Archiso .جميع خيارات هذه الأداة تم توثيقها في مخرجات الاستخدام , لذا استخدامها المباشر لن يتم التطرق إليه هنا . يساعدك مقال الويكي التالي على إنشاء قرصك الحي في وقت بالغ القصر .<br />
<br />
== الإعداد==<br />
{{Box BLUE| ملاحظة | البرنامج النصي التالي يجب استخدامه على جهاز يعمل بمعمارية x86_64}}. قبل البدء يجب عليك [[pacman|تنصيب]]{{Pkg|archiso}} من [[official repositories| المستودعات الرسمية]] بشكل آخر يمكنك الحصول عليه من [[AUR]].<br />
قم بإنشاء مجلد جديد لكي تعمل داخله , هذا المجلد يحتوي على جميع التعديلات الي ستجري على القرص الحي : {{ic|~/archlive}} سيكون مناسباً .<br />
<div align=left dir=ltr><br />
$ mkdir ~/archlive<br />
</div> <br />
البرامج النصية الخاصة بالحزمة Archiso التي تم تنصيبها على الجهاز المُضيف host مسبقا يجب نقلها الى المجلد الجديد الذي تم إنشاؤه , Archiso يأتي "profiles" بنمطين : ''releng'' و ''baseline''. , إذا اردت إنشاء قرص حي مُخصص بشكل كبير من Arch Linux يكون منصباً عليها جميع البرامج التي تريدها بالإضافة الى الإعددات قم باستخدم ''releng''.<br />
وأما إذا أردت فقط إنشاء قرص إقلاعي بسيط لا يحتوي على برامج مسبقة التثبيت و يحوي الحد الأدنى من الإعدادات استخدم ''baseline''.<br />
لذا حسب احتياجاتك قم بتنفيذ التعليمة التالية مستبدلاً كلمة 'PROFILE' وضع إحدى الكلمتين : '''releng''' أو '''baseline'''.<br />
<div align=left dir=ltr><br />
# cp -r /usr/share/archiso/configs/'''PROFILE'''/ ~USER/archlive<br />
</div><br />
إذا كنت تستخدم نمط ''releng'' لإنشاء قرص كامل التخصيص يجب عليك الانتقال الى الخطوة [[#إعداد القرص الحي]]. <br />
أما إذا كنت تستخدم نمط ''baseline'' لإنشاء قرص حي بسيط , لذا فإنك لا تحتاج الى أي تعديلات او تخصيصات و يمكنك مباشرة الإنتقال الى الخطوة [[#بناء ملف ISO]].<br />
<br />
== إعداد القرص الحي ==<br />
هذا القسم يُفصل كيفية تهيئة إعدادت صورة القرص الحي الذي ستقوم بإنشائه سامحاً لك بتحديد الحزم و الإعدادات التي ترغب في تضمينها الى صورة القرص .<br />
الآن إنتقل الى المجلد الذي قمت بإنشائه مسبقاً (~/archlive/releng/ اذا كنت تتبع خطوات هذا الدليل) ستشاهد عدداً من الملفات والمجلدات :<br />
:داخله , نحن مهتمون بعدد منها فحسب , بشكل رئيسي <br />
packages.* هنا نقوم سطرًا بسطر بإنشاء قائمة للحزم التي تريد تنصيبها , هذا المجلد root-image وهو المجلد الجذر لصورة القرص الذي يعمل كطبقة فوقية حيث يحتوي على جميع التغيرات التي سنقوم بها .<br />
<br />
=== تنصيب الحزم ===<br />
عليك إنشاء قائمة بالحزم التي تريد تنصيبها على القرص الحي ; بإنشاء ملف يحوي على أسماء الحزم كاملةً حيث يجب أن يكون هنالك اسم حزمة واحدة في كل سطر , هذه الجزئية '''''عظيمة القدر'''' حيث تسمح لك بإنشاء أقراص حية ذات توجه مُعين , فقط عليك تحديد الحزم التي تُريد ومن م القيام بإنشاء ملف iso الخاص بالقرص .<br />
الملفان packages.i686 و packages.x86_64 يسمحان لك بتحديد الحزم التي التي سيتم تنصيبها على معماريات 32 bit أو 64 bit على و الترتيب .<br />
{{Box GREEN| تلميحة : | <br />
يمكنك أيضا إنشاء مستودع محلي خاص بك '''[[custom local repository]]''' أو باستخدام الحزم من [[AUR]]/[[ABS]]. , عليك فقط إضافة مستودعك المحلي في أعلى الملف '''pacman.conf''' للحصول على أولوية عن باقي المستودعات، ثم انطلق .}}<br />
يُفضل تنصيب "rsync" إذا أردت تنصيب النظام الذي تُريد إنشاؤه في وقت لاحق دون الحاجة الى وجود اتصال بالإنترنت أو لتجاوز خطوة إعادة تحميل الحزم مرة اخرى .([[#التنصيب]])<br />
<br />
=== إضافة مستخدم ===<br />
توجد طريقتان لإنشاء المستخدمين ; أما بإضافة تعليمة useradd المناسبة الى ملف rc.local أو عن طريق نسخ و تعديل الملفات التالية /etc/shadow, /etc/passwd, و /etc/group الطريقة الأخيرة سيتم اعتمادها بالشرح هنا .<br />
في البداية انسخ ملفات /etc/shadow, /etc/passwd, و /etc/group من النظام المُضيف '''host''' الذي تستخدمه في بناء القرص الحي إلى المجلد /etc/ '''الخاص بالنظام الجديد على القرص الحي''' : والذي ينبغي أن يكون /archlive/releng/root-image/etc/~.<br />
<br />
<br />
<div align=left dir=ltr><br />
# cp /etc/{shadow,passwd,group} ~/archlive/releng/root-image/etc/<br />
</div> <br />
<br />
{{Box RED | تحذير: | : ملف shadow الذي قمت بنسخه يحتوي على كلمة المرور الخاصة بك و التي سيستخدمها مُستخدم القرص الحي , <br />
لذا يُفضل تغيير كلمة المرور الخاصة بك قبل نسخ ملف shadow على القرص الحي ، قم بتغيير كلمة مرور النظام المضيف التي تريد أن يستخدمها مستخدم القرص الحي، ثم بعدها قم بالعودة إلى كلمة السر خاصتك.}}<br />
<br />
=== إضافة ملفات إلى صورة القرص الحي ===<br />
{{Box BLUE| ملاحظة :| يجب أن تكون مستخدماً مديراً للنظام (مستخدم جذر root) للقيام بهذه ''' المهمة , لا تقم بتغيير ملكية أي ملف تقوم بنسخه . <br />
'''جميع الملفات''' الموجودة داخل المجلد الجذر / يجب أن تكون مملوكة للمستخدم root سيتم فرز الملكيات في وقت قصير.}}<br />
إن مجلد root-image يُمثل صندوقاً يحتوي على الملفات الموجودة في اعتبره كالمجلد الجذر '/' في نظامك الحالي، لذا كل الملفات التي تضعها في هذا المجلد سيتم نسخها على القرص الحي<br />
لذا في حال كان لديك نسخة من برامج النصية iptables على نظامك الحالي الخاصة ببرنامج و أردت إستخدامها في القرص الحي يمكنك نسخها باستخدام التعليمة التالية :<br />
<br />
<div align=left dir=ltr> <br />
# cp -r /etc/iptables ~/archlive/releng/root-image/etc<br />
</div> <br />
لكن وضع الملفات داخل مجلد المنزل للمستخدمين مختلف قليلاً حيث لا يمكن وضعهم مباشرة ضمن المجلد root-image/home , وإنما ستقوم بإنشاء مجلد skel داخل root-image وتقوم بوضع الملفات هناك وبعد ذلك تقوم بإضافة التعليمات المناسبة لملف rc.local التي تقوم بنسخ هذه الملفات الى مجلد المنزل الخاص بالمستخدم عند الإقلاع و تقوم بإعطاء الصلاحيات المناسبة لها .<br />
في البداية أنشئ مجلد skel ويجب عليك التأكد من أنك داخل المجلد :<br />
/archlive/releng/root-image/etc/~ (إذا كنت تعمل من خلاله):<br />
<br />
<div align=left dir=ltr> <br />
# cd ~/archlive/releng/root-image/etc && mkdir skel<br />
</div> <br />
الآن قم بنسخ الملفات الموجودة داخل مجلد المنزل 'home' في النظام المُضيف الى داخل مجلد skel , تذكر بأنه يجب عليك تطبيق جميع التعليمات كمستخدم جذر root فمثلا بخصوص ملف bashrc :<br />
<div align=left dir=ltr> <br />
# cp ~/.bashrc ~/archlive/releng/root-image/etc/skel/<br />
</div> <br />
لآن داخل مجلد root-image/etc/ قم بإنشاء ملف rc.local '''وتأكد ''' من أنك أعطيت الملف صلاحيات التنفيذ <br />
<br />
<div align=left dir=ltr> <br />
# cd ~/archlive/releng/root-image/etc && touch rc.local && chmod +x rc.local<br />
</div> <br />
الآن قم بإضافة السطور التالية الى ملف rc.local مُستبدلاً كلمة 'youruser' باسم المستخدم الذي قُمت بتحديده <br />
<br />
# قم بإنشاء مجلد المستخدم للجلسة الحية<br />
<div align=left dir=ltr> <br />
if [ ! -d /home/'''youruser''' ]; then<br />
mkdir /home/'''youruser''' && chown '''youruser''' /home/'''youruser'''<br />
fi<br />
</div> <br />
# انسخ الملفات إلى مجلد المنزل.<br />
<div align=left dir=ltr> <br />
su -c "cp -r /etc/skel/.* /home/'''youruser'''/" '''youruser'''<br />
</div><br />
<br />
=== aitab ===<br />
الملف الافتراضي يجب أن يعمل بشكل جيد , لذا لا تقم بتعديله .<br />
ملف aitab يحتوي معلومات حول حول انظمة الملفات الخاصة بالصور التي يتم إنشاءها بواسطة mkarchiso ويتم وصلها -mount- في مرحلة initramfs من خلال خطاف archiso hook.<br />
وهي تتألف من بعض الحقول التي تُحدد سلوك الصور<br />
<div align=left dir=ltr> <br />
# <img> <mnt> <arch> <sfs_comp> <fs_type> <fs_size><br />
</div><br />
; <img>: اسم الصورة بدون لاحقة (.fs .fs.sfs .sfs).<br />
; <mnt>: نقظة الوصل.<br />
; <arch>: المعماريات{ i686 | x86_64 | any }.<br />
; <sfs_comp>: نوع ضغط نظام الملفات SquashFS { gzip | lzo | xz }.<br />
; <fs_type>: ضع نوع نظام الملفات الخاص بالصورة { ext4 | ext3 | ext2 | xfs }.قيمة خاصة من "none" يدل على عدم استخدام أي نظام الملفات<br />
<br />
توضع الملفات مباشرة إلى نظام ملفات في هذه الحالة SquashFS.<br />
<div align=left dir=ltr><br />
; <fs_size>:بايت الصورة قيمة محددة لحجم نظام ملفات بالميجا (مثال : 100, 1000, 4096, إلخ) <br />
قيمة بديلة للمساحة الخالية على نظام الملفات [بالنسبة المئوية] {1%..99%} (مثال 50%, 10%, 7%).هذه قيمة تقديرية وتحسب بطريقة بسيطة <br />
المساحة المستخدمة + 10% (مقدرة للحمل الزائد) + المطلوب %<br />
<br />
</div> <br />
{{Note|Some combinations are invalid. Example both sfs_comp and fs_type are set to none}}<br />
<br />
=== محمل الإقلاع ===<br />
الملف الإفتراضي يجب أن يعمل بشكل جيد , لا تقم بتعديله .<br />
<br />
بسبب الطبيعة الواحدية لـ isolinux , فيمكنك استخدام العديد من الإضافات لطالما جميع ملفات *.c32 تم نسخها و هي متوفرة لديك و يمكنك إلقاء نظرة سريعة على [http://syslinux.zytor.com/wiki/index.php/SYSLINUX الرسمي syslinux موقع] بالإضافة الى [https://projects.archlinux.org/archiso.git/tree/configs/syslinux-iso/boot-files archiso git repo]. باستخدام الإضافات يمكنك إنشاء قوائم ذات مظهر جميل و معقد بآن واحد , شاهد المثال [http://syslinux.zytor.com/wiki/index.php/Comboot/menu.c32 هنا].<br />
<br />
=== مدير تسجيل الدخول ===<br />
<br />
تشغيل X في زمن الإقلاع كان يتم عن طريق تعديل inittab في الأنظمة التي تعتمد على sysvinit , في انظمة systemd يتم تفعيل ذلك عن طريق تفعيل خدمة تسجيل الدخول الخاصة بك . إذا كنت تعرف أي ملف .service يحتاج الى رابط softlink فهذا شيئ جيد , أما إذا لم تكن تعرف ذلك فيمكنك ببساطة إيجاده إذا كنت الخدمة ذاتها في النظام المُضيف الذي تقوم بإنشاء القرص الحي عليه فقط قم بتنفيذ التعليمة التالية <br />
<div align=left dir=ltr> <br />
# systemctl disable '''nameofyourloginmanager'''<br />
</div><br />
لكي توقف عمله مؤقتاً . الآن قم بإعادة كتابة التعليمة السابقة مع إستبدال كلمة disable بكلمة enable لإعادة تفعيلها مرة اخرى , Systemctl يقوم بإظهار معلومات عن الروابط التي يقوم بإنشاءها . الآن إنتقل الى المجلد ~/archiso/releng/root-image/etc/systemd/system وقم بإنشاء الرابط softlink ذاته <br />
<br />
<div align=left dir=ltr> <br />
# ln -s /usr/lib/systemd/system/lxdm.service display-manager.service<br />
</div><br />
التعليمة السابقة ستقوم بتفعيل واجهة LXDE كواجهة إفتراضية للنظام الحي .<br />
<br />
== بناء ملف ISO ==<br />
<br />
الآن انت جاهز لتحويل ملفاتك الى صورة قرص من صيغة ISO و من ثم حرقها على إسطوانة CD أو على USB , داخل المجلد الذي تعمل فيه سواءً كان ~/archlive/releng, أو ~/archlive/baseline قم بتنفيذ التعليمة التالية :<br />
<div align=left dir=ltr><br />
# ./build.sh -v<br />
</div><br />
البرنامج النصي سيقوم الآن بتحميل و تنصيب الحزم التي قُمت بتحديدها , يقوم بإنشاء صور للنواة و init , و تطبيق تعديلاتك ومن ثم يقوم ببناء ملف ISO في مجلد out/<br />
<br />
== استخدام ملف ISO ==<br />
=== CD ===<br />
يمكنك حرق ملف ISO الى قرص cd , يمكنك إتباع دليل [[CD Burning]] كما تريد .<br />
=== USB ===<br />
يمكنك نسخ ملف ISO الى قرص USB عن طريق تعليمة dd :<br />
# dd if=~/archlive/releng/out/*.iso of=/dev/sdx<br />
عليك تعديل التعليمة السابقة لكي توافق إحتياجاتك , لكن يجب التنبيه أن خطأ صغير في القسم الثاني من التعليمة يمكن أن يؤدي الى فقدانك للعلومات في قرصك الصلب<br />
=== grub4dos ===<br />
الأداة grub4dos تسمح لك بإنشاء USB مُتعددة الإقلاع يمكنها الإقلاع من أكثرمن توزيعة linux على USB ذاتها . <br />
<br />
لإقلاع القرص الحي الذي قمت بإنشاءه من USB تحوي على grub4dos مُنصب مسبقاً عليك وصل ملف iso الذي قمت بإنشاءه loop mount و من ثم تقوم بنسخ المجلد {{ic|/arch}} بكافة محتوياته الى المجلد الرئيسي للـ USB . ثم تقوم بتعديل ملف<br />
{{ic|menu.lst}} الخاص ببرنامج grub4dos و إضافة الأسطر التالية :<br />
{{bc|<nowiki><br />
title Archlinux x86_64<br />
kernel /arch/boot/x86_64/vmlinuz archisolabel=<your usb label><br />
initrd /arch/boot/x86_64/archiso.img<br />
</nowiki>}}<br />
قم بتعديل x86_64 حسب المعمارية التي تستخدمها و قم بوضع اسم قرص USB الخاص بك عوضاً عن <your usb label> .<br />
<br />
=== التنصيب===<br />
<br />
Boot the created CD/DVD/USB. If you wish to install the Archiso you created '''-as it is-''', there are several ways to do this, but either way we're following the [[Beginners' Guide]] mostly.<br />
<br />
If you don't have an internet connection on that PC, or if you don't want to download every packages you want again, follow the guide, and when you get to [[Beginners' Guide#Install_the_base_system]], instead of downloading, use this: [[Full System Backup with rsync]]. (more info here: [[Talk:Archiso]])<br />
<br />
You can also try: [[Archboot]], GUI installer.<br />
<br />
== See also ==<br />
*[https://projects.archlinux.org/?p=archiso.git;a=summary Archiso project page]<br />
*[[Archiso_as_pxe_server|Archiso as pxe server]]<br />
*[https://kroweer.wordpress.com/2011/09/07/creating-a-custom-arch-linux-live-usb Step-by-step tutorial on using ArchISO]<br />
*[http://didjix.blogspot.com/ A live DJ distribution powered by ArchLinux and built with Archiso]</div>Abd allatifhttps://wiki.archlinux.org/index.php?title=Secure_Shell_(%D8%A7%D9%84%D8%B9%D8%B1%D8%A8%D9%8A%D8%A9)&diff=264293Secure Shell (العربية)2013-06-26T13:19:29Z<p>Abd allatif: /* Encrypted SOCKS tunnel */</p>
<hr />
<div>[[Category:Secure Shell (العربية)]]<br />
[[Category:العربية]]<br />
[[Category:Networking (العربية)]]<br />
[[es:Secure Shell]]<br />
[[de:SSH]]<br />
[[fr:ssh]]<br />
[[it:Secure Shell]]<br />
[[ko:Secure Shell]]<br />
[[pl:Secure Shell]]<br />
[[pt:Secure Shell]]<br />
[[ru:Secure Shell]]<br />
[[sr:Secure Shell]]<br />
[[zh-CN:Secure Shell]]<br />
<div align=right dir=rtl><br />
'''الصدفة الآمنة''' ('''SSH''') هي بروتوكول من بروتوكولات الشبكة التي تسمح بتبادل البيانات عبر محطة آمنة بين حاسبين مختلفين, التشفير يضمن سرية المعلومات. إن ssh يستخدم التعمية بالمفتاح العمومي لكي يتم الإستيثاق بالحاسب الذي يقوم بإجراء الإتصال وللسماح بالإستيثاق من المستخدم إذا كان ذلك ضروريًا.<br />
<br />
بشكل عام تُستخدم ssh للولوج الى حاسب عن بعد و تنفيذ, لكنها أيضًا تدعم إنشاء لأنفاق الآمنة بالإضافة الى تمرير المنافذ و إتصالات X11 ونقل الملفات يمكن أن يتم يإستخدام بروتوكول sftp أو بروتوكول scp.<br />
<br />
إن خادم ssh بشكل إفتراضي يقوم بإستقبال الإتصالات عبر المنفذ الإفتراضي 22 tcp, عميل ssh هو عبارة عن برنامج يُستخدم لإنشاء إتصال الى خدمة ssh في حال تم إعداده لقبول الإتصالات. كلاهما يتوفر بشكل كبير في الأنظمة الشهيرة كنظام Mac OS X, GNU/Linux, Solaris و OpenVMS. برامج مملوكة و مفتوحة المصدر بمختلف الإصدارات ومختلف مراحل التعقيد و الكمالية متوفرة في الوقت الراهن.<br />
<br />
(Source: [[Wikipedia:Secure Shell]])<br />
<br />
== OpenSSH ==<br />
إن openssh (OpenBSD Secure Shell) هو مجموعة من برامج الحاسب التي توفر وسيلة تواصل مشفرة بين شبكة من الحواسيب بإستخدام بروتوكول ssh, تم تطويرها لتُشكل بديلاً عن برمجيات الصدفة الآمنة المملوكة التي تم تطويرها بواسطة SSH Communications Security. إن openSSH تم تطويرها كجزء من مشروع OpenBSD الذي كان بقيادة Theo de Raadt.<br />
<br />
عادةً ما يتم الخلط بين openSSH و بين OpenSSL, كلا المشروعين لديه هدفه الخاص ولا علاقة له بالمشروع الآخر, لكن تشابه الأسماء يشير فقط الى التشابه في الهدف الذي هو توفير بدلا مفتوح المصدر عن البرمجيات المملوكة.<br />
<br />
=== Installing OpenSSH ===<br />
قم بتنصيب حزمة OpenSSH من المستودعات الرسمية<br />
=== تهيئة إعدادات ssh ===<br />
====العميل====<br />
إن ملفي الإعدادات الخاصين بعميل ssh هما {{ic|/etc/ssh/ssh_config}} أو {{ic|~/.ssh/config}}.<br />
<br />
مثال عن ملف الإعدادت :<br />
<div align=left dir=ltr><br />
{{hc|/etc/ssh/ssh_config|<br />
# $OpenBSD: ssh_config,v 1.26 2010/01/11 01:39:46 dtucker Exp $<br />
<br />
# This is the ssh client system-wide configuration file. See<br />
# ssh_config(5) for more information. This file provides defaults for<br />
# users, and the values can be changed in per-user configuration files<br />
# or on the command line.<br />
<br />
# Configuration data is parsed as follows:<br />
# 1. command line options<br />
# 2. user-specific file<br />
# 3. system-wide file<br />
# Any configuration value is only changed the first time it is set.<br />
# Thus, host-specific definitions should be at the beginning of the<br />
# configuration file, and defaults at the end.<br />
<br />
# Site-wide defaults for some commonly used options. For a comprehensive<br />
# list of available options, their meanings and defaults, please see the<br />
# ssh_config(5) man page.<br />
<br />
# Host *<br />
# ForwardAgent no<br />
# ForwardX11 no<br />
# RhostsRSAAuthentication no<br />
# RSAAuthentication yes<br />
# PasswordAuthentication yes<br />
# HostbasedAuthentication no<br />
# GSSAPIAuthentication no<br />
# GSSAPIDelegateCredentials no<br />
# BatchMode no<br />
# CheckHostIP yes<br />
# AddressFamily any<br />
# ConnectTimeout 0<br />
# StrictHostKeyChecking ask<br />
# IdentityFile ~/.ssh/identity<br />
# IdentityFile ~/.ssh/id_rsa<br />
# IdentityFile ~/.ssh/id_dsa<br />
# Port 22<br />
# Protocol 2,1<br />
# Cipher 3des<br />
# Ciphers aes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,aes128-cbc,3des-cbc<br />
# MACs hmac-md5,hmac-sha1,umac-64@openssh.com,hmac-ripemd160<br />
# EscapeChar ~<br />
# Tunnel no<br />
# TunnelDevice any:any<br />
# PermitLocalCommand no<br />
# VisualHostKey no<br />
# ProxyCommand ssh -q -W %h:%p gateway.example.com<br />
}}<br />
</div><br />
من المُفضل تغيير السطر الخاص بنوع البروتوكول الى السطر التالي :<br />
Protocol 2<br />
<br />
هذا يعني أن البروتوكول 2 سيتم إستخدامه فقط، لأن البروتوكول 1 يتم إعتباره غير آمنة بالمقارنة من البروتوكول 2.<br />
<br />
====خدمة ssh====<br />
يمكن الحصول وتعديل على إعدادات خدمة ssh في الملف {{ic|/etc/ssh/ssh'''d'''_config}}.<br />
<br />
مثال عن ملف الإعدادات :<br />
<div align=left dir=ltr><br />
{{hc|/etc/ssh/sshd_config|2=<br />
# $OpenBSD: sshd_config,v 1.82 2010/09/06 17:10:19 naddy Exp $<br />
<br />
# This is the sshd server system-wide configuration file. See<br />
# sshd_config(5) for more information.<br />
<br />
# This sshd was compiled with PATH=/usr/bin:/bin:/usr/sbin:/sbin<br />
<br />
# The strategy used for options in the default sshd_config shipped with<br />
# OpenSSH is to specify options with their default value where<br />
# possible, but leave them commented. Uncommented options change a<br />
# default value.<br />
<br />
#Port 22<br />
#AddressFamily any<br />
#ListenAddress 0.0.0.0<br />
#ListenAddress ::<br />
<br />
# The default requires explicit activation of protocol 1<br />
#Protocol 2<br />
<br />
# HostKey for protocol version 1<br />
#HostKey /etc/ssh/ssh_host_key<br />
# HostKeys for protocol version 2<br />
#HostKey /etc/ssh/ssh_host_rsa_key<br />
#HostKey /etc/ssh/ssh_host_dsa_key<br />
#HostKey /etc/ssh/ssh_host_ecdsa_key<br />
<br />
# Lifetime and size of ephemeral version 1 server key<br />
#KeyRegenerationInterval 1h<br />
#ServerKeyBits 1024<br />
<br />
# Logging<br />
# obsoletes QuietMode and FascistLogging<br />
#SyslogFacility AUTH<br />
#LogLevel INFO<br />
<br />
# Authentication:<br />
<br />
#LoginGraceTime 2m<br />
#PermitRootLogin yes<br />
#StrictModes yes<br />
#MaxAuthTries 6<br />
#MaxSessions 10<br />
<br />
#RSAAuthentication yes<br />
#PubkeyAuthentication yes<br />
#AuthorizedKeysFile .ssh/authorized_keys<br />
<br />
# For this to work you will also need host keys in /etc/ssh/ssh_known_hosts<br />
#RhostsRSAAuthentication no<br />
# similar for protocol version 2<br />
#HostbasedAuthentication no<br />
# Change to yes if you do not trust ~/.ssh/known_hosts for<br />
# RhostsRSAAuthentication and HostbasedAuthentication<br />
#IgnoreUserKnownHosts no<br />
# Don't read the user's ~/.rhosts and ~/.shosts files<br />
#IgnoreRhosts yes<br />
<br />
# To disable tunneled clear text passwords, change to no here!<br />
#PasswordAuthentication yes<br />
#PermitEmptyPasswords no<br />
<br />
# Change to no to disable s/key passwords<br />
ChallengeResponseAuthentication no<br />
<br />
# Kerberos options<br />
#KerberosAuthentication no<br />
#KerberosOrLocalPasswd yes<br />
#KerberosTicketCleanup yes<br />
#KerberosGetAFSToken no<br />
<br />
# GSSAPI options<br />
#GSSAPIAuthentication no<br />
#GSSAPICleanupCredentials yes<br />
<br />
# Set this to 'yes' to enable PAM authentication, account processing, <br />
# and session processing. If this is enabled, PAM authentication will <br />
# be allowed through the ChallengeResponseAuthentication and<br />
# PasswordAuthentication. Depending on your PAM configuration,<br />
# PAM authentication via ChallengeResponseAuthentication may bypass<br />
# the setting of "PermitRootLogin without-password".<br />
# If you just want the PAM account and session checks to run without<br />
# PAM authentication, then enable this but set PasswordAuthentication<br />
# and ChallengeResponseAuthentication to 'no'.<br />
UsePAM yes<br />
<br />
#AllowAgentForwarding yes<br />
#AllowTcpForwarding yes<br />
#GatewayPorts no<br />
#X11Forwarding no<br />
#X11DisplayOffset 10<br />
#X11UseLocalhost yes<br />
#PrintMotd yes<br />
#PrintLastLog yes<br />
#TCPKeepAlive yes<br />
#UseLogin no<br />
#UsePrivilegeSeparation yes<br />
#PermitUserEnvironment no<br />
#Compression delayed<br />
#ClientAliveInterval 0<br />
#ClientAliveCountMax 3<br />
#UseDNS yes<br />
#PidFile /var/run/sshd.pid<br />
#MaxStartups 10<br />
#PermitTunnel no<br />
#ChrootDirectory none<br />
<br />
# no default banner path<br />
#Banner none<br />
<br />
# override default of no subsystems<br />
Subsystem sftp /usr/lib/ssh/sftp-server<br />
<br />
# Example of overriding settings on a per-user basis<br />
#Match User anoncvs<br />
# X11Forwarding no<br />
# AllowTcpForwarding no<br />
# ForceCommand cvs server<br />
}}<br />
</div><br />
لكي يتم السماح بالولوج فقط لمُستخدمين مُحددين، قم بإضافة السطر التالي الى ملف الإعدادت :<br />
<div align=left dir=ltr><br />
AllowUsers user1 user2<br />
</div><br />
<br />
ولإلغاء تفعيل دخول المستخدم الجذر root مباشرةً عبر خدمة ssh، قم بتعديل قمية الخاصية PermitRootLogin الى التالي :<br />
<div align=left dir=ltr><br />
PermitRootLogin no<br />
</div><br />
<br />
ولكي تُضيف رسالة ترحيب، قم بتعديل ملف {{ic|/etc/issue}} ومن ثم قم بتعديل السطر الخاص بالقيمة Banner الى التالي :<br />
<div align=left dir=ltr><br />
Banner /etc/issue<br />
</div><br />
<br />
{{تلميح : لربما تريد تغيير المنفذ الإفتراضي من 22 الى رقم منفذ أعلى منه (يُمكنك الرجوع الى المقال security through obscurity) (راجع [http://en.wikipedia.org/wiki/Security_through_obscurity security through obscurity]).}} <br />
<br />
وعلى الرغم من أن منفذ ssh يُمكن الكشف عنه بسهولةبإحدى أدوات المسح الخاصة بالشبكات nmap، لكن تغييره سيُفيد بتقليل عدد محاولات الدخول المؤتمتة، للمساعدة في إختيار رقم منفذ مناسب قم بمراجعة المقال التالي [[Wikipedia:List of TCP and UDP port numbers|list of TCP and UDP port numbers]].<br />
<br />
{{Tip|إلغاء تفعيل الدخول عن طريق كلمات المرور ستُزيد بشكل كبير من الأمان راجع مقال [[SSH Keys]] لمزيد من المعلومات.}}<br />
<br />
=== إدارة خدمة ssh ===<br />
يمكن بدء خدمة ssh بإستخدام التعلمية التالية :<br />
<div align=left dir=ltr><br />
# systemctl start sshd<br />
</div><br />
<br />
ويمكن تفعيل تشغيل خدمة ssh عند بدء تشغيل النظام بواسطة التعليمة التالية : # systemctl enable sshd.service<br />
<br />
{{تحذير|إن Systemd هو غير متزامن في بدء العمليات، لذا فإذا قُمت بتحديد خدمة ssh الى عنوان ip مُحدد ListenAddress 192.168.1.100، فيمكن أن تفشل في البدء أثناء الإقلاع، يُمكن حل هذه المشكلة بإضافة After&#61;network.target الى ملف الواحدة المُخصص، قم بمراجعة [[Systemd#Replacing provided unit files]].}}<br />
<br />
أو أن تقوم ببدء تشغيل خدمة ssh عند أول إتصال تتلقاه :<br />
# systemctl enable sshd.socket<br />
إذا كنت تستخدم منفذ غير منفذ 22 الإفتراضي، عليك وضع القيمة "ListenStream" في ملف الوحدة<br />
في ملف /etc/systemd/system/sshd.socket قم بتغيير القيمة "ListenStream" الى المنفذ المناسب.<br />
<br />
=== الإتصال بالخادم ===<br />
لكي تقوم بالإتصال بالخادم قم بتنفيذ التعليمة التالية :<br />
<div align=left dir=ltr><br />
$ ssh -p port user@server-address<br />
</div><br />
<br />
== عملاء و خوادم ssh الاخرى ==<br />
بعيدًا عن OpenSSH؛ يوجد هناك العديد من عملاء و خوادم ssh متاحة للإستخدام [[Wikipedia:Comparison of SSH clients|clients]] و [[Wikipedia:Comparison of SSH servers|servers]].<br />
<br />
=== Dropbear ===<br />
[[Wikipedia:Dropbear (software)|Dropbear]] هو خادم وعميل ssh-2. حزمة {{AUR|dropbear}} متوفرة في [[AUR]].<br />
<br />
إن عميل ssh الخاص بموجه الأوامر يُسمى dbclient.<br />
<br />
=== Mosh بديل SSH ===<br />
الجملة التالية مقتبسة من موقع [http://mosh.mit.edu/ mosh]:<br />
تطبيق يسمح بالإتصال عبر طرفية بعيدة, يدعم الإتصالات المتقطعة, ويقدم طريقة ذكية للتعديل السطري لكتابات المستخدم. Mosh هو بديل لخدمة ssh. هو أكثر قوة وإستجابة وخصوصًا عبر شبكات Wi-Fi, cellular و الشبكات بعيدة المدى.<br />
<br />
يمكنك تنصيب {{Pkg|mosh}} من المستودعات الرسمية، أو آخر نسخة {{AUR|mosh-git}} من [[AUR]].<br />
<br />
== تلمحيات ==<br />
<br />
=== انبوب SOCKS مُشفر ===<br />
هذه التلميحة مُفيدة جدًا لمستخدمي الحواسيب المُحمولة الذين يتصلون بشبكات WiFi غير آمنة. الشيء الوحيد الذي ستحتاج إليه هو خادم ssh يعمل في مكان آمن (العمل أو المنزل). من المفيد إستخدام خدمة DNS ديناميكية :[http://www.dyndns.org/ DynDNS] كمثال، لذا فلن تحتاج الى تذكر عنوان IP الخاص بك.<br />
<br />
==== الخطوة الولى : قم ببدء الإتصال ====<br />
عليك فقط تنفيذ التعليمة التالية لكي تقوم ببدء الإتصال بخادم ssh : $ ssh -TND 4711 user@host<br />
حيث {{Ic|"user"}} هو اسم المستخدم الخاص بك على الخادم {{Ic|"host"}}، سوف يتم سؤالك عن كلمة المرور الخاصة بك. بعد ذلك تكون قد قمت بالإتصال بنجاح. الراية {{Ic|"N"}} fتقوم بإلغاء تفعيل موجه الأوامر التفاعلي بينما الراية D تقوم بتحديد منفذ محلي يمكنك الإتصال منه (تستطيع إختيار أي رقم تريده). الراية {{Ic|"T"}} تقوم بإلغاء تفعيل حصة pseudo-tty.<br />
<br />
من المفيد استخدام الراية {{Ic|"-v"}} لأنها تسمح لك من التأكد من أن عملية الإتصال تمت بنجاح من المخرجات.<br />
<br />
==== الخطوة الثانية : إعداد المتصفح (أو بقية البرامج) ====<br />
الخطوة السابقة عديمة الجدوى تمامًا إن لم تقترن بالإعداد الصحيح لمتصفح الويب -أو أي برنامج آخر- لإستخدام انبوب socks الذي قمنا بإنشاءه.<br />
وبما أن النسخة الحالية من ssh تدعم SOCKS4 و SOCKS5 فيمكنك إستخدام أي منهما.<br />
<br />
لإعداد متصفح firefox : في البداية قم بالدخول الى Edit → Preferences → Advanced → Network → Connection → Setting :<br />
قم بتحديد الخيار "Manual proxy configuration" وقم بإدخال القيمة "localhost" في مربع النص المُعنون "SOCKS host" ومن ثم قم بإدخال رقم المنفذ الذي قمت بتحديده في الخطوة السابقة (تم إستخدام 4711)<br />
<br />
متصفح firefox لا يقوم بشكل تلقائي بعمل طلبات DNS عبر انبوب socks، هذا الأمر قد يُعرض خصوصيتك للخر لذا قم بعمل الخطوات التالية :<br />
<br />
- قم بطلب الصفحة about:config في شريط العنوان الخاص بمتصفح firefox<br />
- ابحث عن الراية network.proxy.socks_remote_dns<br />
- قم بتحديد true كقيمة لهذه الراية<br />
- قم بإعادة تشغيل المتصفح<br />
<br />
وأما مُتصفح Chromium فيمكنك تحديد إعدادات socks كمتغيرات خاصة بالبيئة أو بإستخدامها كوسيط في سطر الأوامر، أنا أفضل إضافة إحدى الدالتين الى ملف {{ic|.bashrc}} الخاص بك :<br />
<div align=left dir=ltr><br />
function secure_chromium {<br />
port=4711<br />
export SOCKS_SERVER=localhost:$port<br />
export SOCKS_VERSION=5<br />
chromium &<br />
exit<br />
}<br />
</div><br />
أو<br />
<div align=left dir=ltr><br />
function secure_chromium {<br />
port=4711<br />
chromium --proxy-server="socks://localhost:$port" &<br />
exit<br />
}<br />
</div><br />
<br />
الآن قم بفتح نافذة الطرفية و نفذ الأمر التالي :<br />
<div align=left dir=ltr><br />
$ secure_chromium<br />
</div><br />
<br />
=== تمرير X11 ===<br />
إذا أردت تشغيل برمجيات رسومية عبرإتصال ssh، يتوجب عليك تفعيل خيار تمرير X11 في ملفات الإعدادات في الخادم و العميل (هنا "العميل" هو الجهاز الذي يعمل عليه خادم X11 و يقوم بالإتصال بخدمات X11 من جهاز "الخادم").<br />
<br />
قم بتنصيب الحزمة {{Pkg|xorg-xauth}} من المستودعات الرسمية الى الخادم<br />
<br />
قم بتفعيل الخيار AllowTcpForwarding في ملف {{ic|ssh'''d'''_config}} على الخادم<br />
قم بتفعيل الخيار X11Forwarding في ملف {{ic|ssh'''d'''_config}} على الخادم<br />
قم بتحديد قيمة الخيار X11DisplayOffset في ملف {{ic|ssh'''d'''_config}} على الخادم الى الرقم 10<br />
قم بتفعيل الخيار X11UseLocalhost في ملف {{ic|ssh'''d'''_config}} على الخادم<br />
يتوجب عليك أيضًا :<br />
تفعيل الخيار X11UseLocalhost في ملف {{ic|ssh_config}} على العميل<br />
قم بتفعيل الخيار ForwardX11Trusted إذا وجدت مشاكل في الواجهة الرسومية<br />
<br />
بالطبع يتوجب عليك إعادة تشغيل خدمة ssh في الخادم لكي يتم تطبيق الإعدادت السابقة .<br />
<br />
عندما تقوم بإتسخدام تمرير X11 قم بتنفيذ الأمر التالي في الطرفية <br />
<div align=left dir=ltr><br />
$ ssh -X -p port user@server-address<br />
</div><br />
إذا واجهت مشكل في تشغيل البرمجيات الرسومية قم بعمل تمرير موثوق مستخدمًا الأمر التالي :<br />
<div align=left dir=ltr><br />
$ ssh -Y -p port user@server-address<br />
</div><br />
الآن عندما تقوم بتشغيل البرمجيات الرسومية على الخادم، فسيتم تمرير المخرجات الى جهازك المحلي.<br />
<div align=left dir=ltr><br />
$ xclock<br />
</div><br />
<br />
إذا واجهت أخطاء من قبيل "Cannot open display"، قم بتطبيق التعليمة التالية كمستخدم غير مدير للنظام :<br />
<div align=left dir=ltr><br />
$ xhost +<br />
</div><br />
<br />
التعليمة السابقة تقوم بالسماح بتمرير تطبيقات X11 للجميع، إذا أردت حصر ذلك بجهاز معين قم بإستخدام التعليمة التالية :<br />
<div align=left dir=ltr><br />
$ xhost +hostname<br />
</div><br />
<br />
حيث hostname هو اسم الجهاز الذي تريد تمرير إتصالات X11 له. يمكنك الرجوع الى "man xhost" لمزيد من المعلومات عن إستخدام هذا التعليمة.<br />
<br />
كن حذرًا مع بعض البرامج التي تتحقق من بيئة العمل المُستخدمة على الجهاز المحلي، مثال عليها برنامج firefox. فيمكنك إغلاق برنامج firefox أو عن طريق تشغيل firefox مفعلًا الخيار -no-remote :<br />
<div align=left dir=ltr><br />
$ firefox -no-remote<br />
</div><br />
إذا ظهرت لك رسالة الخطأ التالية "X11 forwarding request failed on channel 0" فقم بإحدى الخطوتين التاليتين :<br />
* قم بتفعيل خيار'''AddressFamily any''' في ملف {{ic|ssh'''d'''_config}} على الخادم.<br />
* قم بتحديد قيمة الخيار '''AddressFamily''' في ملف {{ic|ssh'''d'''_config}} على الخادم الى inet.<br />
تحديد القيمة inet للخيار AddressFamily يحّل المشاكل مع عملاء ubuntu الذين يستخدمون IPv4.<br />
<br />
=== تمرير المنافذ الاخرى ===<br />
بالإضافة الى خاصية تمرير X11 المدمجة مع ssh، يمكنك إنشاء نفق آمن لأي من إتصالات TCP، وذلك بإستخدام تمرير محلي أو عن بُعد.<br />
التمرير المحلي يقوم بفتح منفذ في الجهاز المحلي، الإتصالات سيتم تمريرها الى الخادم البعيد ومن ثم من هناك ستصل الى وجهتها.<br />
Very often, the forwarding destination will be the same as the remote host, thus providing a secure shell and, e.g. a secure VNC connection, to the same machine. Local forwarding is accomplished by means of the {{Ic|-L}} switch and it's accompanying forwarding specification in the form of {{Ic|<tunnel port>:<destination address>:<destination port>}}.<br />
<br />
Thus:<br />
<br />
$ ssh -L 1000:mail.google.com:25 192.168.0.100<br />
<br />
will use SSH to login to and open a shell on 192.168.0.100, and will also create a tunnel from the local machine's TCP port 1000 to mail.google.com on port 25. Once established, connections to localhost:1000 will connect to the Gmail SMTP port. To Google, it will appear that any such connection (though not necessarily the data conveyed over the connection) originated from 192.168.0.100, and such data will be secure as between the local machine and 192.168.0.100, but not between 192.168.0.100, unless other measures are taken.<br />
<br />
Similarly:<br />
<br />
$ ssh -L 2000:192.168.0.100:6001 192.168.0.100<br />
<br />
will allow connections to localhost:2000 which will be transparently sent to the remote host on port 6001. The preceding example is useful for VNC connections using the vncserver utility--part of the tightvnc package--which, though very useful, is explicit about its lack of security.<br />
<br />
Remote forwarding allows the remote host to connect to an arbitrary host via the SSH tunnel and the local machine, providing a functional reversal of local forwarding, and is useful for situations where, e.g., the remote host has limited connectivity due to firewalling. It is enabled with the {{Ic|-R}} switch and a forwarding specification in the form of {{Ic|<tunnel port>:<destination address>:<destination port>}}.<br />
<br />
Thus:<br />
<br />
$ ssh -R 3000:irc.freenode.net:6667 192.168.0.200<br />
<br />
will bring up a shell on 192.168.0.200, and connections from 192.168.0.200 to itself on port 3000 (remotely speaking, localhost:3000) will be sent over the tunnel to the local machine and then on to irc.freenode.net on port 6667, thus, in this example, allowing the use of IRC programs on the remote host to be used, even if port 6667 would normally be blocked to it.<br />
<br />
Both local and remote forwarding can be used to provide a secure "gateway," allowing other computers to take advantage of an SSH tunnel, without actually running SSH or the SSH daemon by providing a bind-address for the start of the tunnel as part of the forwarding specification, e.g. {{Ic|<tunnel address>:<tunnel port>:<destination address>:<destination port>}}. The {{Ic|<tunnel address>}} can be any address on the machine at the start of the tunnel, {{Ic|localhost}}, {{Ic|*}} (or blank), which, respectively, allow connections via the given address, via the loopback interface, or via any interface. By default, forwarding is limited to connections from the machine at the "beginning" of the tunnel, i.e. the {{Ic|<tunnel address>}} is set to {{Ic|localhost}}. Local forwarding requires no additional configuration, however remote forwarding is limited by the remote server's SSH daemon configuration. See the {{Ic|GatewayPorts}} option in {{Ic|sshd_config(5)}} for more information.<br />
<br />
=== تسريع ssh ===<br />
يُمكنك جعل جميع الجلسات الى الخادم نفسه تستخدم إتصالًا واحدًا، هذا يؤدي الى تسريع عملية الولوج، وذلك بإضافة السطور التالية تحت اسم المُضيف المُناسب في ملف {{ic|/etc/ssh/ssh_config}} :<br />
<div align=left dir=ltr><br />
ControlMaster auto<br />
ControlPath ~/.ssh/socket-%r@%h:%p<br />
</div><br />
<br />
تغيير خوارزمية التشفير المُستخدمة من قبل ssh تُساعد بشكل كبير على تحسين السرعة. في هذا المجال أفصل الخيارات هي arcfour و blowfish-cbc، رجاءً لا تقم بتغييرها إلا إذا كنت تعلم ما تفعله، لخوارزمية arcfour عدد من الجوانب الضعيفة. لإستخدمهم قم بتنفيذ التعليمة التالية :<br />
<br />
$ ssh -c arcfour,blowfish-cbc user@server-address<br />
لإستخدامها بشكل دائم، ضع هذا السطر تحت اسم المضيف المناسب في ملف {{ic|/etc/ssh/ssh_config}}:<br />
Ciphers arcfour,blowfish-cbc<br />
خيار آخر لكي تُحسن من سرعة SSH هو تفعيل خيار الضغط بإستخدام راية {{Ic|"C"}}. ولتفعيل هذه الميزة دومًا قم بإضافة السطر التالي تحت اسم المُضيف المُناسب في ملف {{ic|/etc/ssh/ssh_config}}:<br />
Compression yes<br />
الوقت الآزم لتسجيل الدخول يُمكن أن يُقلل بإستخدام الراية {{Ic|"4"}}، التي تقوم بتجاوز البحث ببروتوكول IPv6. يُمكن تفعيل هذه الميزة بشكل دائم عن طريق إضافة السطر التالي تحت اسم المُضيف المناسب في ملف {{ic|/etc/ssh/ssh_config}}:<br />
AddressFamily inet<br />
طريقة اخرى لتفعيل هذه الخيارات بشكل دائم هي إنشاء مكافئ في ملف {{ic|~/.bashrc}}:<br />
alias ssh='ssh -C4c arcfour,blowfish-cbc'<br />
<br />
=== وصل نظام ملفات خاص بحاسب بعيد عن طريق sshfs ===<br />
يرجى الرجوع الى مقال [[Sshfs]] لمعرفة المزيد حول وصل نظام الملفات خاص بحاسب بعيد -قابل للوصول عبر ssh- الى مجلد محلي. يمكنك القيام بأي تعليمة وبأي أداة على الملفات الموصولة (نسخ، إعداة تسمية، تعديل بمُحرر vim...الخ). استخدم sshfs عوضًا عن shfs (لم يتم إصدار نسخة جديدة منه منذ 2004 !).<br />
<br />
=== إبقاء الإتصال مفتوحًا ===<br />
جلسة ssh الخاصة بك سوف تقوم بتسجيل الخروج عندما لا يتم إستخدمها، لإبقاء الإتصال مفتوحًا قم بإضافة السطر التالي لأحد الملفين {{ic|~/.ssh/config}} أو {{ic|/etc/ssh/ssh_config}} في جهاز العميل :<br />
<div align=left dir=ltr><br />
ServerAliveInterval 120<br />
</div><br />
<br />
السطر السابق يقوم بإرسال إشارة "keep alive" كل 120 ثانية.<br />
<br />
وبشكل آخر يمكن إبقاء الإتصالات مفتوحة عن طريق تعيين القيمة 120 أو أي رقم آخر أكبر من 0 في ملف {{ic|/etc/ssh/sshd_config}} على الخادم، كالتالي :<br />
<div align=left dir=ltr><br />
ClientAliveInterval 120<br />
</div><br />
<br />
=== حفظ بيانات الإتصال في ملف إعدادات ssh ===<br />
عندما تقوم بالولوج الى خادم ssh، فإنك ستقوم بإدخال اسم المستخدم وعنوان الخادم على الأقل. إذا أردت توقير هذا الوقت; يمكنك استخدام الملف {{ic|$HOME/.ssh/config}} الخاص بك، أو الملف العام {{ic|/etc/ssh/ssh_config}} كما في المثال التالي :<br />
<div align=left dir=ltr><br />
{{hc|$HOME/.ssh/config|<br />
Host myserver<br />
HostName 123.123.123.123<br />
Port 12345<br />
User bob<br />
Host other_server<br />
HostName test.something.org<br />
User alice<br />
CheckHostIP no<br />
Cipher blowfish<br />
}}<br />
</div><br />
الآن يمكنك الإتصال بالخادم عن طريق الأمر التالي :<br />
<div align=left dir=ltr><br />
$ ssh myserver<br />
</div><br />
<br />
للإطلاع على القائمة الكاملة للخيارات التي تستطيع إستخدمها يمكنك الرجوع الى صفحة الدليل الخاصة بـ ssh_config أو مقال[http://www.openbsd.org/cgi-bin/man.cgi?query=ssh_config ssh_config documentation] الموجود في الموقع الرسمي.<br />
<br />
=== إعادة تشغيل جلسات و انفاق ssh تلقائيًا - Autossh ===<br />
عندما يتعذر إبقاء جلسة أو نفق ssh مفتوحًا (على سبيل المثال أوضاع الشبكة سيئة تؤدي الى إنقطاع الإتصال بخادم ssh...)، يمكنك إستخدام الحزمة Autossh لإعادة الإتصال تلقائيًاـ حزمة Autossh يمكن تنصيبها من المستودعات الرسمية.<br />
<br />
أمثلة عن طرق الإستخدام :<br />
<div align=left dir=ltr><br />
$ autossh -M 0 -o "ServerAliveInterval 45" -o "ServerAliveCountMax 2" username@example.com<br />
</div><br />
مدمجة مع خدمة [[ sshfs ]]:<br />
<div align=left dir=ltr><br />
$ sshfs -o reconnect,compression=yes,transform_symlinks,ServerAliveInterval=45,ServerAliveCountMax=2,ssh_command='autossh -M 0' username@example.com: /mnt/example <br />
</div><br />
الإتصال بواسطة وسيط SOCKS :<br />
<div align=left dir=ltr><br />
$ autossh -M 0 "ServerAliveInterval 45" -o "ServerAliveCountMax 2" -NCD 8080 username@example.com <br />
</div><br />
عند إستخدام الخيار -f، Autossh سيتم تشغيله كعملية في الخلفية، تشغيله بهذه الطريقة يعني أنظ لا تستطيع إدخال معلومات الإتصال بشكل تفاعلي.<br />
سيتم إنهاء الجلسة فقط عندما تتم كتابة exit أو عندما تتلقى Autossh إشارة SIGTERM, SIGINT , SIGKILL<br />
<br />
إذا أردت تشغيل autossh تلقائيًا، يُمكنك وبسهولة استخدام systemd، فعلى سبيل المثال يُمكنك إنشاء ملف واحدة خاص بخدمة systemd على الشكل التالي :<br />
<div align=left dir=ltr><br />
[Unit]<br />
Description=AutoSSH service for port 2222<br />
After=network.target<br />
<br />
[Service]<br />
ExecStart=/usr/bin/autossh -M 0 2222:localhost:2222 foo@bar.com<br />
</div><br />
ومن ثم قم بوضعها في ملف -وعلى سبيل المثال- /etc/systemd/system/system/autossh.service، بالطبع يُمكنك إنشاء ملف واحدة أكثر تعقيدًا إذا كان ذلك ضروريًا (يُمكنك الرجوع الى التوثيق الخاص بخدمة systemd لمزيد من التفاصيل)، وبكل تأكيد يُمكنك إستخدام الخيارات الخاصة بك في autossh.<br />
<br />
ومن ثم قم بتفعيل أنفاق autossh كالتالي :<br />
<div align=left dir=ltr><br />
$ systemctl start autossh<br />
</div><br />
(أو حسب ما قمُت بتسمية ملف الواحدة)<br />
<br />
من المُمكن أيضًا التعامل مع عدة عمليات autossh سويًا، وذلك لإبقاء الإتصال مفتوحًا في عدة أنفاق. عليك فقط إنشاء ملفات .service متعددة ذات أسماء مُختلفة.<br />
<br />
== إستكشاف الأخطاء وإصلاحها ==<br />
=== الإتصالات تُرفض أو تنتهي مدتها ===<br />
<br />
==== هل الراوتر لديك يقوم بتمرير المنافذ؟ ====<br />
<br />
قم بتجاوز هذه الخطوة إذا كنت خلف NAT modem/router. (على سبيل المثال VPS أو غيره). أغلب المنازل أو الشركات الصغيرة يكون لديها NAT modem/router.<br />
<br />
أو شيئ يجب التحقق منه هو أن الراوتر لديك يقوم بتمرير إتصالات ssh القادمة الى جهازك المحلي. عنوان IP الخارجي الذي تم إعطاؤه لك من قبل مزود خدمة الإنترنت، وهو نفس العنوان الذي يتم ربطه مع الطلبات الخاجية من قبل الراوتر لديك. لذا يجب على الراوتر أن يعلم أن إتصالات SSH القادمة يجب أن يتم تمريرها الى خدمة sshd في جهازك المحلي.<br />
<br />
قم بمعرفة عنوان ip الخاص بجهازك في الشبكة المحلية :<br />
<div align=left dir=ltr><br />
ip a<br />
</div><br />
قم بالبحث عن الحقل الخاص بقيمة inet. ومن ثم قم بالدخول الى لوحة الإعدادات الخاصة بالراوتر لديك مُستخدمًا عنوان IP الخاص به. قم بإخبار الراوتر لديك بأن يقوم بتمرير الإتصالات الى عنوان inet IP قم بزيارة موقع [http://portforward.com/] لمزيد من المعلومات حول كيفية تمرير المنافذ في الراوتر الخاص بك.<br />
<br />
==== هل خدمة ssh تعمل؟ ====<br />
<div align=left dir=ltr><br />
$ ss -tnlp<br />
</div><br />
إذا لم تُظهر التعليمة السابقة أن منفذ ssh مفتوح فإن خدمة ssh لا تعمل، قم بالتحقق من ملف {{ic|/var/log/messages}} للحصول على الأخطاء.<br />
<br />
==== هل يقوم الجدار الناري الخاص بك بحجب الإتصالات ؟ ====<br />
{{out of date|rc.d is deprecated with systemd}}<br />
Flush your iptables rules to make sure they are not interfering:<br />
<div align=left dir=ltr><br />
# rc.d stop iptables<br />
</div><br />
أو:<br />
<div align=left dir=ltr><br />
# iptables -P INPUT ACCEPT<br />
# iptables -P OUTPUT ACCEPT<br />
# iptables -F INPUT<br />
# iptables -F OUTPUT<br />
</div><br />
==== هل يصل الإتصال أساسًا الى جهازك؟ ====<br />
قم بعمل traffic dump في الجهاز الذي تواجه فيه المشاكل بإستخدام التعليمة التالية:<br />
<div align=left dir=ltr><br />
# tcpdump -lnn -i any port ssh and tcp-syn<br />
</div><br />
سيتم إظهار بعض المعلومات البسيطة، الآن قم بتجربة الإتصال. إذا لم تشاهد أي مخرجات خلال عملية الإتصال, فهذا يعني أن شيئاً ما خارج جهازك يمنع الإتصال (على بسيل المثال : جدار ناري خارجي أو NAT راوتر).<br />
<br />
==== هل يقوم مزود الخدمة الخاص بك أو أي جهة اخرى بحجب المنفذ الإفتراضي ؟ ====<br />
{{Note|قم بتجريب الخطوة التالية فقط إذا كنت '''متأكدًا''' من أنك لا تستخدم أي جدار ناري وقمت بإعداد الراوتر لديك إعدادًا صحيحًا وذلك بتمرير المنفذ الى جهازك المحلي.}}<br />
<br />
في بعض الحالات، يقوم مزود الخدمة الخاص بك بحجب المنفذ الإفتراضي 22 لذا مهما حاولت من طرق فهي لن تُجدي نفعًا.<br />
<br />
إذا واجهتك رسالة شبيهة بالرسالة التالية :<br />
<div align=left dir=ltr><br />
ssh: connect to host www.inet.hr port 22: Connection refused<br />
</div><br />
فهذا لا يعني أن المنفذ قم تم حجبه من قبل مزود الخدمة، بل أن الخادم لا يُشغل خدمة SSH على هذا المنفذ(راجع [http://en.wikipedia.org/wiki/Security_through_obscurity security through obscurity]).<br />
<br />
أما إذا واجهت رسالة كالرسالة التالية :<br />
<div align=left dir=ltr><br />
ssh: connect to host 111.222.333.444 port 22: Operation timed out <br />
</div><br />
هذا يعني أن هنالك شيئ يمنع إتصال TCP على المنفذ 22. إذا كنت متأكدًا تمامًا من الإعداد الصحيح للجدار الناري و/أو الراوتر، فإن ذلك يعني أن المنفذ محجوب من قبل مزود الخدمة.<br />
لزيادة التحقق، قم بتشغيل Wireshark على الخادم وقم بمراقبة المرور على المنفذ 22. بعد إعداده أن لم تحصل على أي مخرجات بينما تحاول الإتصال فهذا يعني ان جهة خارجية تقوم بحجب الإتصال.<br />
<br />
===== التحقق بإستخدام Wireshark =====<br />
قم بتنصيب Wireshark عن طريق الحزمة {{Pkg|wireshark-cli}}، الموجودة في المستودعات الرسمية.<br />
<br />
ومن ثم قم بتشغيلها مُستخدمًا التعليمة التالية:<br />
tshark -f "tcp port 22" -i NET_IF<br />
<br />
حيث NET_IF هو واجهة الشبكة لإتصال WAN. إذا لم تتلقى أي حزم إتصال عندما تحاول الإتصال عن بعد، فيمكنك التاكد تمامًا أن مزود الخدمة لديك يحجب المنفذ 22.<br />
<br />
===== حل هذه المشكلة =====<br />
الحل هو إستخدام منفذ آخر لا يقوم مزود الخدمة لديك بحجبه. قم بفتح ملف {{ic|/etc/ssh/sshd_config}} وضبط الإعدادات فيه لإستخدام منفذ آخر. على سبيل المثال قم بإضاة التالي :<br />
<br />
Port 22<br />
Port 1234<br />
<br />
أيضًا تاكد من أن الأسطر التي يوجد فيها إعدادت بقية المنافذ. عند إضافة "Port 1234" وحذف "Port 22" سيجعل خدمة sshd تقبل الإتصالات من المنفذ 1234 فقط. لذا قم بإستخدام كلا المنفذين.<br />
<br />
قم بإعادة تشغيل الخدمة عن طريق الأمر {{ic|systemctl restart sshd.service}}. ولم يبقى عليك سوى إعداد العميل لديك ليستخدم المنفذ الجديد بدلًا من المنفذ الإفتراضي.<br />
<br />
==== مشكلة Read from socket failed: connection reset by peer ====<br />
الإصدارات التي اطلقت مؤخرًا من openssh تفشل في بعض الأحيان مخرجةً رسالة خطأ كالرسالة السابقة بسبب وجود علّة في خاصية التشفير فيها. في هذه الحالة قم بإضافة السطر التالي الى ملف {{ic|~/.ssh/config}}:<br />
<br />
HostKeyAlgorithms ssh-rsa-cert-v01@openssh.com,ssh-dss-cert-v01@openssh.com,ssh-rsa-cert-v00@openssh.com,ssh-dss-cert-v00@openssh.com,ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,ssh-rsa,ssh-dss<br />
<br />
في إصدار openssh 5.9 السطر السابق لا يقوم بحل المشكلة. لذا قم بوضع السطور التالية في ملف {{ic|~/.ssh/config}}:<br />
<br />
Ciphers aes128-ctr,aes192-ctr,aes256-ctr,aes128-cbc,3des-cbc <br />
MACs hmac-md5,hmac-sha1,hmac-ripemd160<br />
<br />
راجع أيضًا [http://www.gossamer-threads.com/lists/openssh/dev/51339 discussion] في مركز علل openssh<br />
<br />
=== "[الصدفة التي تستخدمها]: No such file or directory" ===<br />
مسبب من مسببات هذه المشكلة هو أن بعض عملاء SSH يحتاجون الى معرفة المسار المطلق عن طريق الأمر {{Ic|whereis -b [your shell]}}، وحتى لوكان الملف التنفيئي للصدفة موجود في {{Ic|$PATH}}. سبب آخر هو أن المستخدم ليس عضوًا في مجموعة ''network''.<br />
<br />
===ظهور رسالة الخطأ "Terminal unknown" أو "Error opening terminal"===<br />
من الممكن عند إستخدام ssh الحصول على أخطاء من من قبيل "Terminal unknown" عندما تحاول تسجيل الدخول. بدء بعض التطبيقات كتطبيق nano يفشل مُظهرًا الرسالة "Error opening terminal". يوجد طريقتين لحل المشاكل من هذا النوع، الطريقة السلهة هي إستخدام المُتغير $TERM، أو باستخدام ملف terminfo.<br />
<br />
====الحل بواسطة المتغير $TERM====<br />
بعد الإتصال الى الخادم، قم بتحديد قيمة المتغير $TERM الى "xterm" مُستخدمًا التعليمة التالية :<br />
<div align=left dir=ltr><br />
{{ic|TERM&#61;xterm}}<br />
</div><br />
هذا الحل يحوي على بعض المشاكل الجانبية. ويتوجب عليك أيضًا أن تقوم بتكرار هذه التعليمة كل مرة تقوم فيها بتسجيل الدخول الى الخادم. أو بشكل بديل يمكنك وضعها في ملف ~.bashrc .<br />
====الحل بإستخدام ملف terminfo====<br />
حل آخر هو نقل ملف terminfo من جهازك المحلي الى الخادم. في هذا المثال سنقوم بشرح كيفية تهيئة ملف terminfo من أجل طرفية من نوع "rxvt-unicode-256color".<br />
قم بإنشاء مجلد يحوي على ملفات terminfo في خادم ssh، عندما تقوم بتسجيل الدخول الى الخادم قم بإستخدام هذه التعليمة :<br />
<div align=left dir=ltr><br />
<br />
{{ic| mkdir -p ~/.terminfo/r/}}<br />
<br />
</div><br />
<br />
الآن قم بنسخ ملف terminfo الخاص بالطرفيتك الى المجلد الجديد. مُستبدلًا ''"rxvt-unicode-256color"'' بالطرفية الخاصة بك في التعليمة التالية و ''ssh-server'' بإسم المستخدم وعنوان الخادم الخاصين بك<br />
<br />
<div align=left dir=ltr><br />
{{ic|$ scp /usr/share/terminfo/r/''rxvt-unicode-256color'' ssh-server:~/.terminfo/r/}}<br />
<br />
</div><br />
بعدما تقوم بتسجيل الخروج ومن ثم تسجيل الدخول مُجددًا، تكون المشكلة قد حُلّت.<br />
<br />
== شاهد أيضًا ==<br />
*[[SSH Keys]]<br />
*[[Pam abl]]<br />
*[[fail2ban]]<br />
*[[sshguard]]<br />
*[[Sshfs]]<br />
*[[Syslog-ng]] : لإرسال log الخاص بـ ssh الى ملف<br />
<br />
== Links & references ==<br />
*[http://www.soloport.com/iptables.html A Cure for the Common SSH Login Attack]<br />
*[http://www.la-samhna.de/library/brutessh.html Defending against brute force ssh attacks]<br />
*[http://www.ibm.com/developerworks/library/l-keyc/index.html OpenSSH key management, Part 1] and [http://www.ibm.com/developerworks/library/l-keyc2 Part 2] on IBM developerWorks<br />
</div></div>Abd allatifhttps://wiki.archlinux.org/index.php?title=Netbeans_(%D8%A7%D9%84%D8%B9%D8%B1%D8%A8%D9%8A%D8%A9)&diff=262677Netbeans (العربية)2013-06-13T17:40:10Z<p>Abd allatif: </p>
<hr />
<div>[[Category:العربية]]<br />
[[en:Netbeans]]<br />
[[es:Netbeans]]<br />
<div align=right dir=rtl><br />
'''Netbeans''' هو بيئة تطوير مدمجة IDE تُستخدم لتطوير تطبيقات بلغات Java, JavaScript, PHP, Python, Ruby, Groovy, C, C++, Scala, Clojure, وغيرها من لغات البرمجة.<br />
برنامج NetBeans تمت كتابته بلغة java لذا فسوف يعمل على أي نظام يمكن تنصيب JVM عليه بما فيه Windows, Mac OS, Linux, و Solaris. حزمة JDK مطلوبة فقط إذا أردت تطوير برمجيات java بواسطة NetBeans لكنها غير مطلوبة في تطروير باقي اللغات.<br />
<br />
== تلميحات ==<br />
{{Note|ملف الإعدادات netbeans.conf العام {{Ic|/usr/share/netbeans/etc/netbeans.conf}} ستتم إعادة ضبطه عند التحديثات. لذا قم بوضع التعديلات في الإعدادت في الملف المحلي الخاص بك {{ic|~/.netbeans/<ver>/etc/netbeans.conf}} (ربما تحتاج الى إنشاء مجلد etc وملف .conf).}}<br />
*الإعدادات في ملف netbeans.conf المحلي ستقوم بأخد محل الإعدادات في الملف العام<br />
*خيارات التي تُمرر في سطر الأوامر ستقوم بحل محل الإعدادات في ملفي الإعدادات الخاص و العام<br />
=== إزالة التعرج في خطوط NetBeans ===<br />
==== Netbeans فقط ====<br />
قم بإضافة {{Ic|-J-Dswing.aatext&#61;TRUE -J-Dawt.useSystemAAFontSettings&#61;on}} الى سطر 'netbeans_default_options' في ملف netbeans.conf الخاص بك.<br />
<br />
==== Java بشكل عام ====<br />
قم بمراجعة [[Java#Better font rendering ]].<br />
<br />
=== GTK look and feel ===<br />
لتغيير Netbeans look and feel الى GTK قم بإضافة {{Ic|--laf com.sun.java.swing.plaf.gtk.GTKLookAndFeel}} الى السطر الخاص بخيارات NetBeans ‘netbeans_default_options’ في ملف {{Ic|/usr/share/netbeans/etc/netbeans.conf}}<br />
<br />
== إستكشاف الأخطاء و إصلاحها ==<br />
=== OpenJDK vs Sun's JDK ===<br />
Netbeans 7.0-1 لا يعمل بشكل دائم مع OpenJDK، بعض المشاكل التي تم التبليغ عنها :<br />
* البدء - في بعض الحالات لا يقوم NetBeans بالعمل .<br />
* التنصيب - ملف .sh الذي يأتي مع مُنصب NetBeans يفشل في البدء<br />
* JavaFX لا تعمل بشكل صحيح (راجع {{Bug|29843}}).<br />
<br />
=== Glassfish خادم - Can`t download Glassfish server I/O Exception ===<br />
إذا حاولت إضافة خادم Glassfish جديد، قد لا تتمكن من تحميل الخادم. NetBeans يُعيد الخطأ : <br />
<div align=left dir=ltr><br />
I/O Exception: http://java.net/download/glassgish/3.0.1/release/glassfish-3.0.1-ml.zip<br />
</div><br />
الحل هو :<br />
* تحميل النسخة المفتوحة المصدر من خادم GlassFish من الموقع الرسمي : http://download.java.net/glassfish/3.0.1/release/glassfish-3.0.1-ml.zip<br />
* قم بفك ضغط ملف zip في أي مجلد تريد<br />
<br />
=== Netbeans لا يبدأ بعد تشغيله لأول مرة ===<br />
إذا حصلت على رسالة كالرسالة التالية عندما تقوم بتشغيل NetBeans من الطرفية :<br />
<div align=left dir=ltr><br />
{{hc|# netbeans -h|<br />
Exception in thread "main" java.lang.UnsatisfiedLinkError: /usr/lib/jvm/java-6-openjdk/jre/lib/i386/libsplashscreen.so: libgif.so.4: cannot open shared object file: No such file or directory<br />
}}<br />
</div><br />
<br />
يكون لديك خيارين<br />
* يمكنك بدء NetBeans مُستخدمًا الخيار -nosplash :<br />
<div align=left dir=ltr><br />
# netbeans --nosplash<br />
</div><br />
* أو قم بتنصيب الحزمة الناقصة ({{Pkg|libungif}}), ومن ثم سيعمل NetBeans كالمعتاد.<br />
</div></div>Abd allatifhttps://wiki.archlinux.org/index.php?title=Netbeans_(Espa%C3%B1ol)&diff=262676Netbeans (Español)2013-06-13T17:35:35Z<p>Abd allatif: </p>
<hr />
<div>[[Category:Development (Español)]]<br />
[[ar:Netbeans]]<br />
[[en:Netbeans]]<br />
'''NetBeans''' es un entorno de desarrollo integrado ('''IDE''' por sus siglas en inglés). Permite desarrollar en Java, JavaScript, PHP, Python, Ruby, Groovy, C/C++, Scala, Clojure, etc.<br />
<br />
De [http://es.wikipedia.org/wiki/NetBeans Wikipedia]: <br />
<br />
«'''NetBeans''' es un entorno de desarrollo integrado libre, hecho principalmente para el lenguaje de programación '''Java'''. Existe además un número importante de módulos para extenderlo. '''NetBeans IDE''' es un producto libre y gratuito sin restricciones de uso.»<br />
<br />
== Instalación==<br />
Primero tendrás que instalar algún entorno de desarroyo java. El recomendado es {{AUR|jdk}}, la implementación de java por Oracle.<br />
También puedes instalar otro entorno [[Java]]. Ten en cuenta que la dependencia requerida será java-environment.<br />
<br />
<br />
Los paquetes de instalación de Netbeans en español están en el [[Arch User Repository|AUR]]:<br />
<br />
# {{AUR|netbeans-es}}<br />
<br />
<br />
== Consejos ==<br />
{{Nota|El archivo global de configuración {{ic|/usr/share/netbeans/etc/netbeans.conf}} es sobreescrito en las actualizaciones. Para mantener los cambios realizados escribalos en el archivo local de configuración {{ic|~/.netbeans/<version>/etc/netbeans.conf}} (Será necesario crear el directorio {{ic|/etc}} y el archivo {{ic|.conf}}).}}<br />
=== Antialiasing de las fuentes en NetBeans ===<br />
==== Solo NetBeans ====<br />
Añada {{ic|-J-Dswing.aatext&#61;TRUE -J-Dawt.useSystemAAFontSettings&#61;on}} en la linea «netbeans_default_options» de su archivo de configuración.<br />
<br />
==== Java en general ====<br />
Vease [[Java#Better font rendering ]] (en inglés).<br />
<br />
=== «Look and feel» estilo GTK ===<br />
Para cambiar la aparencia de NetBeans a GTK añada {{ic|--laf com.sun.java.swing.plaf.gtk.GTKLookAndFeel}} en la sección «netbeans_default_options» del archivo de configuración o en el archivo {{ic|.desktop}} con el que lanza la aplicación.<br />
<br />
== Problemas conocidos ==<br />
=== OpenJDK vs SunJDK ===<br />
NetBeans 7.0-1 no siempre funciona con OpenJDK, algunos de los errores son:<br />
* En algunas situaciones NetBeans no se ejecuta.<br />
* El script {{ic|.sh}} de instalación de netbeans no ejecuta la GUI del instalador.<br />
* El modulo JavaFX no funciona. Vease {{Bug|29843}} (en inglés).<br />
<br />
=== Glassfish server - No puede descargar Glassfish server. I/O Exception ===<br />
Esta situación ocurre cuando se intenta añadir un nuevo Glassfish server y NetBeans devuelve <br />
I/O Exception: http://java.net/download/glassgish/3.0.1/release/glassfish-3.0.1-ml.zip<br />
<br />
La solución consiste en:<br />
* Descargar GlassFish Server Open Source Edition manualmente desde el sitio oficial (http://download.java.net/glassfish/3.0.1/release/glassfish-3.0.1-ml.zip).<br />
* Descomprimir el .zip en cualquier directorio.<br />
<br />
=== NetBeans no se ejecuta despues de la primera ejecución ===<br />
Si esto ocurriese ejecute NetBeans desde una terminal:<br />
{{hc|# netbeans -h|<br />
Exception in thread "main" java.lang.UnsatisfiedLinkError: /usr/lib/jvm/java-6-openjdk/jre/lib/i386/libsplashscreen.so: libgif.so.4: cannot open shared object file: No such file or directory<br />
}}<br />
<br />
Si la terminal le devuelve una salida como la de arriba entonces tiene dos opciones:<br />
* Ejecutar NetBeans usando la opción {{ic|--nosplash}}<br />
# netbeans --nosplash<br />
* Instalar el paquete que falta ({{Pkg|libungif}}). NetBeans debería funcionar correctamente ahora.<br />
<br />
Para más información consultar este [https://bbs.archlinux.org/viewtopic.php?id=118930 hilo] del foro<br />
<br />
== Véase también ==<br />
* [http://www.netbeans.org Pagina oficial de NetBeans]<br />
* [http://es.wikipedia.org/wiki/NetBeans Articulo de NetBeans en la Wikipedia]</div>Abd allatifhttps://wiki.archlinux.org/index.php?title=Netbeans&diff=262675Netbeans2013-06-13T17:35:30Z<p>Abd allatif: </p>
<hr />
<div>[[Category:Development]]<br />
[[ar:Netbeans]]<br />
[[es:Netbeans]]<br />
'''Netbeans''' is an integrated development environment (IDE) for developing with Java, JavaScript, PHP, Python, Ruby, Groovy, C, C++, Scala, Clojure, and other languages.<br />
<br />
From [[Wikipedia:Netbeans|Wikipedia article]]:<br />
:"''The NetBeans IDE is written in Java and can run anywhere a compatible JVM is installed, including Windows, Mac OS, Linux, and Solaris. A JDK is required for Java development functionality, but is not required for development in other programming languages.''"<br />
<br />
== Tips and tricks ==<br />
{{Note|The global netbeans.conf {{Ic|/usr/share/netbeans/etc/netbeans.conf}} will be overwritten during updates. To keep changes add them to your local netbeans.conf {{ic|~/.netbeans/<ver>/etc/netbeans.conf}} (you will need to create the etc dir and the .conf file).}}<br />
*Settings in local version of netbeans.conf override the same settings in the global copy of the file.<br />
*Command-line options override settings in either of the configuration files.<br />
=== Font antialiasing in Netbeans ===<br />
==== Netbeans Specifically ====<br />
Add {{Ic|-J-Dswing.aatext&#61;TRUE -J-Dawt.useSystemAAFontSettings&#61;on}} to the 'netbeans_default_options' line of your netbeans.conf file.<br />
<br />
==== Java Generally ====<br />
See [[Java#Better font rendering ]].<br />
<br />
=== GTK look and feel ===<br />
To change Netbeans look and feel to GTK add switch {{Ic|--laf com.sun.java.swing.plaf.gtk.GTKLookAndFeel}} to IDE command line by appending it to ‘netbeans_default_options’ section of {{Ic|/usr/share/netbeans/etc/netbeans.conf}} or editing ''.desktop'' file with which you launch Netbeans.<br />
<br />
== Troubleshooting ==<br />
=== OpenJDK vs Sun's JDK ===<br />
Netbeans 7.0-1 will not ALWAYS work with OpenJDK. Some reported issues are:<br />
* Starting - In some cases, netbeans will not start.<br />
* Installation - The .sh script provided by netbeans will not launch wizard (any proofs?).<br />
* JavaFX module does not work (see {{Bug|29843}}).<br />
<br />
=== Glassfish server - Can`t download Glassfish server I/O Exception ===<br />
If you are trying add new Glassfish server, you can`t download the server. Netbeans returns<br />
I/O Exception: http://java.net/download/glassgish/3.0.1/release/glassfish-3.0.1-ml.zip<br />
<br />
Solution is:<br />
* Download GlassFish Server Open Source Edition manualy from official site, actual link is http://download.java.net/glassfish/3.0.1/release/glassfish-3.0.1-ml.zip<br />
* Extract from zip to any location<br />
<br />
=== Netbeans doesn't start after its first start ===<br />
If you receive a message like this when executing from terminal:<br />
{{hc|# netbeans -h|<br />
Exception in thread "main" java.lang.UnsatisfiedLinkError: /usr/lib/jvm/java-6-openjdk/jre/lib/i386/libsplashscreen.so: libgif.so.4: cannot open shared object file: No such file or directory<br />
}}<br />
<br />
You have two options:<br />
* You can start Netbeans using the --nosplash option:<br />
# netbeans --nosplash<br />
* Or, install the missing library ({{Pkg|libungif}}), then starting Netbeans as usual will work.<br />
<br />
[https://bbs.archlinux.org/viewtopic.php?id=118930 Arch forum thread]<br />
<br />
=== Netbeans starts with a completely grey window ===<br />
{{Out of date|most likely fixed in current versions of OpenJDK}}<br />
See [[Java#Impersonate Another Window Manager]]<br />
<br />
This may not be quite 100% out of date; the problem occurred while using NetBeans 7.2, OpenJDK 7.u7_2.3.2-2, "$ java -version" reporting 1.7.0_07. The following is robbed from Awesome's wiki (although I experienced the problem using Xmonad), which fixed my all-grey window problem:<br />
<br />
<pre>$ _JAVA_AWT_WM_NONREPARENTING=1; export _JAVA_AWT_WM_NONREPARENTING</pre></div>Abd allatifhttps://wiki.archlinux.org/index.php?title=Netbeans_(%D8%A7%D9%84%D8%B9%D8%B1%D8%A8%D9%8A%D8%A9)&diff=262674Netbeans (العربية)2013-06-13T17:34:23Z<p>Abd allatif: Created page with "Category:العربية en:Netbeans es:Netbeans <div align=right dir=rtl> '''Netbeans''' هو بيئة تطوير مدمجة IDE تُستخدم لتطوير تطب..."</p>
<hr />
<div>[[Category:العربية]]<br />
[[en:Netbeans]]<br />
[[es:Netbeans]]<br />
<div align=right dir=rtl><br />
'''Netbeans''' هو بيئة تطوير مدمجة IDE تُستخدم لتطوير تطبيقات بلغات Java, JavaScript, PHP, Python, Ruby, Groovy, C, C++, Scala, Clojure, وغيرها من لغات البرمجة.<br />
برنامج NetBeans تمت كتابته بلغة java لذا فسوف يعمل على أي نظام يمكن تنصيب JVM عليه بما فيه Windows, Mac OS, Linux, و Solaris. حزمة JDK مطلوبة فقط إذا أردت تطوير برمجيات java بواسطة NetBeans لكنها غير مطلوبة في تطروير باقي اللغات.<br />
<br />
== تلميحات ==<br />
{{Note|ملف الإعدادات netbeans.conf العام {{Ic|/usr/share/netbeans/etc/netbeans.conf}} ستتم إعادة ضبطه عند التحديثات. لذا قم بوضع التعديلات في الإعدادت في الملف المحلي الخاص بك {{ic|~/.netbeans/<ver>/etc/netbeans.conf}} (ربما تحتاج الى إنشاء مجلد etc وملف .conf).}}<br />
*الإعدادات في ملف netbeans.conf المحلي ستقوم بأخد محل الإعدادات في الملف العام<br />
*خيارات التي تُمرر في سطر الأوامر ستقوم بحل محل الإعدادات في ملفي الإعدادات الخاص و العام<br />
=== إزالة التعرج في خطوط NetBeans ===<br />
==== Netbeans فقط ====<br />
قم بإضافة {{Ic|-J-Dswing.aatext&#61;TRUE -J-Dawt.useSystemAAFontSettings&#61;on}} الى سطر 'netbeans_default_options' في ملف netbeans.conf الخاص بك.<br />
<br />
==== Java بشكل عام ====<br />
قم بمراجعة [[Java#Better font rendering ]].<br />
<br />
=== GTK look and feel ===<br />
لتغيير Netbeans look and feel الى GTK قم بإضافة {{Ic|--laf com.sun.java.swing.plaf.gtk.GTKLookAndFeel}} الى السطر الخاص بخيارات NetBeans ‘netbeans_default_options’ في ملف {{Ic|/usr/share/netbeans/etc/netbeans.conf}}<br />
<br />
== إستكشاف الأخطاء و إصلاحها ==<br />
=== OpenJDK vs Sun's JDK ===<br />
Netbeans 7.0-1 لا يعمل بشكل دائم مع OpenJDKk، بعض المشاكل التي تم التبليغ عنها :<br />
* البدء - في بعض الحالات لا يقوم NetBeans بالعمل .<br />
* التنصيب - ملف .sh الذي يأتي مع مُنصب NetBeans يفشل في البدء<br />
* JavaFX لا تعمل بشكل صحيح (راجع {{Bug|29843}}).<br />
<br />
=== Glassfish خادم - Can`t download Glassfish server I/O Exception ===<br />
إذا حاولت إضافة خادم Glassfish جديد، قد لا تتمكن من تحميل الخادم. NetBeans يُعيد الخطأ : <br />
I/O Exception: http://java.net/download/glassgish/3.0.1/release/glassfish-3.0.1-ml.zip<br />
<br />
الحل هو :<br />
* تحميل النسخة المفتوحة المصدر من خادم GlassFish من الموقع الرسمي : http://download.java.net/glassfish/3.0.1/release/glassfish-3.0.1-ml.zip<br />
* قم بفك ضغط ملف zip في أي مجلد تريد<br />
<br />
=== Netbeans لا يبدأ بعد تشغيله لأول مرة ===<br />
إذا حصلت على رسالة كالرسالة التالية عندما تقوم بتشغيل NetBeans من الطرفية :<br />
{{hc|# netbeans -h|<br />
Exception in thread "main" java.lang.UnsatisfiedLinkError: /usr/lib/jvm/java-6-openjdk/jre/lib/i386/libsplashscreen.so: libgif.so.4: cannot open shared object file: No such file or directory<br />
}}<br />
<br />
يكون لديك خيارين<br />
* يمكنك بدء NetBeans مُستخدمًا الخيار -nosplash :<br />
<div align=left dir=ltr><br />
# netbeans --nosplash<br />
</div><br />
* أو قم بتنصيب الحزمة الناقصة ({{Pkg|libungif}}), ومن ثم سيعمل NetBeans كالمعتاد.<br />
</div></div>Abd allatifhttps://wiki.archlinux.org/index.php?title=Wget_(%D8%A7%D9%84%D8%B9%D8%B1%D8%A8%D9%8A%D8%A9)&diff=262608Wget (العربية)2013-06-13T09:35:28Z<p>Abd allatif: </p>
<hr />
<div>[[en:Wget]]<br />
[[es:Wget]]<br />
[[Category:العربية]]<br />
<div align=right dir=rtl><br />
جنو wget هي حزمة برمجيات حرة تُستخدم للحصول على الملفات بإستخدام HTTP,HTTPS و FTP. هذه الأداة هي أداة نصية غير تفاعلية يُمكن إستدعائها بسهولة من السكربتات، المهمات المجدولة، الطرفيات التي لا تحوي على خادم X ... الخ.<br />
<br />
==التنصيب==<br />
تكون wget منصبة بشكل إفتراضي. إذا لم يتم تنصيبها, يمكن تنصيب الحزمة {{Pkg|wget}} مُستخدمًا [[pacman]]. نسخة git متوفرة في AUR بالاسم {{AUR|wget-git}}.<br />
<br />
==الإعداد==<br />
الإعدادات تكون موجودة في ملف {{ic|/etc/wgetrc}}. لكن نادرًا ما يتم تعديل هذه الإعدادات. قم بالرجوع الى صفحة man لمزيد من المعلومات.<br />
<br />
===FTP أتمتة===<br />
بشكل عادم [[SSH]] تُستخدم لنقل الملفات بشكل آمن عبر الشبكة، لكن FTP أخف بكثير على موارد الجهاز مقارنًة مع scp. لكن FPT ليس آمنًا مقارنًة مع SSH لكن عند نقل ملفات ذات حجم كبير ضمن شبكة محمية بجدار ناري، يكون إستخدام FTP أفضل.<br />
<div align=left dir=ltr><br />
<pre><br />
wget ftp://root:somepassword@10.13.X.Y//ifs/home/test/big/"*.tar"<br />
<br />
3,562,035,200 74.4M/s in 47s<br />
</pre><br />
</div><br />
في هذه الحالة يكون Wget قد قام بنقل ملف ذو حجم 3.3 G بمعدل 74.4MB/second.<br />
<br />
بشكل مختصر، فوائد Wget هي :<br />
*قابلة للإستخدام في السكربتات<br />
*أسرع بكثير من SSH <br />
*easily used by languages than can substitute string variables<br />
*globbing capable<br />
<br />
===استخدام الخوادم الوسيطة===<br />
أداة wget تستخدم إعدادات proxy التي يتم تحديدها عبر متغيرات البيئة. راجع [[Proxy settings]].<br />
لإستخدام خاصية التحقق في خادم proxy :<br />
<div align=left dir=ltr><br />
$ wget --proxy-user "DOMAIN\USER" --proxy-password "PASSWORD" URL<br />
</div><br />
===pacman الدمج مع===<br />
لجعل [[pacman]] يقوم بإستخدام Wget مع وسيط يتطلب التحقق, قم بإضافة تعليمة Wget في ملف {{ic|/etc/pacman.conf}} في قسم {{Ic|[options]}}:<br />
<div align=left dir=ltr><br />
XferCommand = /usr/bin/wget --proxy-user "domain\user" --proxy-password="password" --passive-ftp -c -O %o %u<br />
</div><br />
{{Warning|كن حذرًا عند وضع كلمات المرور بشكل مقروء في الملفات، تأكد من أن المستخدم الجذر هو الوحيد الذي يملك صلاحيات القراءة على هذا الملف مُستخدمًا التعليمة التالية {{Ic|chmod 600 /etc/pacman.conf}}.}}<br />
<br />
==أمثلة عن الإستخدام==<br />
هذا القسم يحوي على عدد من الأمثلة عن إستخدام Wget:<br />
===خيار الإكمال===<br />
في بعض الأحيات يلزمك إستكمال تحميل ما إذا كان حجم الملف كبيرًا، يمكن ذلك بإستخدام الخيار -c في أمر wget :<br />
<div align=left dir=ltr><br />
wget -c url<br />
</div><br />
===تجاوز إعدادت الخادم الوسيط===<br />
في حال قمت بإعداد جهازك لإستخدام خادم وسيط وأردت لأداة wget تجاوزه، قم بإستخدام الخيار --no-proxy كالتالي :<br />
<div align=left dir=ltr><br />
wget --no-proxy url<br />
</div><br />
===أرشفة موقع ويب كامل===<br />
يمكن لأداة wget أن تقوم بارشفة مواقع بأكملها وأن تقوم بتحويل الروابط المطلقة الى ورابط نسبية :<br />
<div align=left dir=ltr><br />
$ wget -np -r -k 'http://your-url-here'<br />
</div><br />
===تحديد اسم ملف الذي سيتم حفظه===<br />
تُستخدم هذه الميزة بشكل رئيسي في السكربتات لعدة أسباب أهمهاأن اسم الملف الذي يتم تحميله قد يختلف من إصدار لآخر، لهذا الغرض يتم إستخدام الخيار المختصر -o أو الطويل --output-file كما في التعليمتين التاليتين :<br />
<div align=left dir=ltr><br />
wget -o file_name url<br />
wget --output-file=file_name url<br />
</div><br />
===عدم إظهار أي مخرجات===<br />
في بعض الأحيان لا يكون من الضروري إظهار ما يتم تنفيذه عبر هذه الأداة، في هذه الحالة إستخدام الخيار المختصر -q أو الطويل --quiet بالطبع يمكن القيام بنفس المهمة عن طريق تحويل مجريي الخرج و الخطأ الى الملف {{ic|/dev/null}} :<br />
<div align=left dir=ltr><br />
wget -q url<br />
</div><br />
</div></div>Abd allatifhttps://wiki.archlinux.org/index.php?title=Wget_(%D8%A7%D9%84%D8%B9%D8%B1%D8%A8%D9%8A%D8%A9)&diff=262607Wget (العربية)2013-06-13T09:30:57Z<p>Abd allatif: </p>
<hr />
<div>[[en:Wget]]<br />
[[es:Wget]]<br />
[[Category:العربية]]<br />
<div align=right dir=rtl><br />
جنو wget هي حزمة برمجيات حرة تُستخدم للحصول على الملفات بإستخدام HTTP,HTTPS و FTP. هذه الأداة هي أداة نصية غير تفاعلية يُمكن إستدعائها بسهولة من السكربتات، المهمات المجدولة، الطرفيات التي لا تحوي على خادم X ... الخ.<br />
<br />
==التنصيب==<br />
تكون wget منصبة بشكل إفتراضي. إذا لم يتم تنصيبها, يمكن تنصيب الحزمة {{Pkg|wget}} مُستخدمًا [[pacman]]. نسخة git متوفرة في AUR بالاسم {{AUR|wget-git}}.<br />
<br />
==الإعداد==<br />
الإعدادات تكون موجودة في ملف {{ic|/etc/wgetrc}}. لكن نادرًا ما يتم تعديل هذه الإعدادات. قم بالرجوع الى صفحة man لمزيد من المعلومات.<br />
<br />
===FTP أتمتة===<br />
بشكل عادم [[SSH]] تُستخدم لنقل الملفات بشكل آمن عبر الشبكة، لكن FTP أخف بكثير على موارد الجهاز مقارنًة مع scp. لكن FPT ليس آمنًا مقارنًة مع SSH لكن عند نقل ملفات ذات حجم كبير ضمن شبكة محمية بجدار ناري، يكون إستخدام FTP أفضل.<br />
<div align=left dir=ltr><br />
<pre><br />
wget ftp://root:somepassword@10.13.X.Y//ifs/home/test/big/"*.tar"<br />
<br />
3,562,035,200 74.4M/s in 47s<br />
</pre><br />
</div><br />
في هذه الحالة يكون Wget قد قام بنقل ملف ذو حجم 3.3 G بمعدل 74.4MB/second.<br />
<br />
بشكل مختصر، فوائد Wget هي :<br />
*قابلة للإستخدام في السكربتات<br />
*أسرع بكثير من SSH <br />
*easily used by languages than can substitute string variables<br />
*globbing capable<br />
<br />
===استخدام الخوادم الوسيطة===<br />
أداة wget تستخدم إعدادات proxy التي يتم تحديدها عبر متغيرات البيئة. راجع [[Proxy settings]].<br />
لإستخدام خاصية التحقق في خادم proxy :<br />
<div align=left dir=ltr><br />
$ wget --proxy-user "DOMAIN\USER" --proxy-password "PASSWORD" URL<br />
</div><br />
===pacman الدمج مع===<br />
لجعل [[pacman]] يقوم بإستخدام Wget مع وسيط يتطلب التحقق, قم بإضافة تعليمة Wget في ملف {{ic|/etc/pacman.conf}} في قسم {{Ic|[options]}}:<br />
<div align=left dir=ltr><br />
XferCommand = /usr/bin/wget --proxy-user "domain\user" --proxy-password="password" --passive-ftp -c -O %o %u<br />
</div><br />
{{Warning|كن حذرًا عند وضع كلمات المرور بشكل مقروء في الملفات، تأكد من أن المستخدم الجذر هو الوحيد الذي يملك صلاحيات القراءة على هذا الملف مُستخدمًا التعليمة التالية {{Ic|chmod 600 /etc/pacman.conf}}.}}<br />
<br />
==أمثلة عن الإستخدام==<br />
هذا القسم يحوي على عدد من الأمثلة عن إستخدام Wget:<br />
===خيار الإكمال===<br />
في بعض الأحيات يلزمك إستكمال تحميل ما إذا كان حجم الملف كبيرًا، يمكن ذلك بإستخدام الخيار -c في أمر wget :<br />
<div align=left dir=ltr><br />
wget -c url<br />
</div><br />
===تجاوز إعدادت الخادم الوسيط===<br />
في حال قمت بإعداد جهازك لإستخدام خادم وسيط وأردت لأداة wget تجاوزه، قم بإستخدام الخيار --no-proxy كالتالي :<br />
<div align=left dir=ltr><br />
wget --no-proxy url<br />
</div><br />
===أرشفة موقع ويب كامل===<br />
يمكن لأداة wget أن تقوم بارشفة مواقع بأكملها وأن تقوم بتحويل الروابط المطلقة الى ورابط نسبية :<br />
<div align=left dir=ltr><br />
$ wget -np -r -k 'http://your-url-here'<br />
</div><br />
===تحديد اسم ملف الذي سيتم حفظه===<br />
تُستخدم هذه الميزة بشكل رئيسي في السكربتات لعدة أسباب أهمهاأن اسم الملف الذي يتم تحميله قد يختلف من إصدار لآخر، لهذا الغرض يتم إستخدام الخيار المختصر -o أو الطويل --output-file كما في التعليمتين التاليتين :<br />
<div align=left dir=ltr><br />
wget -o file_name url<br />
wget --output-file=file_name url<br />
</div><br />
</div></div>Abd allatifhttps://wiki.archlinux.org/index.php?title=Wget&diff=262604Wget2013-06-13T09:26:16Z<p>Abd allatif: </p>
<hr />
<div>[[ar:Wget]]<br />
[[es:Wget]]<br />
[[Category:Internet Applications]]<br />
GNU Wget is a free software package for retrieving files using HTTP, HTTPS and FTP, the most widely-used Internet protocols. It is a non-interactive commandline tool, so it may easily be called from scripts, cron jobs, terminals without X-Windows support, etc. [[http://www.gnu.org/software/wget/ source]]<br />
<br />
==Installing==<br />
wget is normally installed as part of the base setup. If not present, install the {{Pkg|wget}} package using [[pacman]]. The git version is present in the AUR by the name {{AUR|wget-git}}.<br />
<br />
==Configuring==<br />
Configuration is performed in {{ic|/etc/wgetrc}}. Not only is the default configuration file well documented; altering it is seldom necessary. See the man page for more intricate options.<br />
<br />
===FTP automation===<br />
Normally, [[SSH]] is used to securely transfer files among a network. However, FTP is lighter on resources compared to scp and [[rsync]]ing over SSH. FTP is not as secure, but when transfering large amounts of data inside a firewall protected environment on CPU-bound systems, using FTP can prove beneficial.<br />
<pre><br />
wget ftp://root:somepassword@10.13.X.Y//ifs/home/test/big/"*.tar"<br />
<br />
3,562,035,200 74.4M/s in 47s<br />
</pre><br />
In this case, Wget transfered a 3.3 G file at 74.4MB/second rate.<br />
<br />
In short, this procedure is:<br />
*scriptable<br />
*faster than ssh<br />
*easily used by languages than can substitute string variables<br />
*globbing capable<br />
<br />
===Proxy===<br />
Wget uses the standard proxy environment variables. See: [[Proxy settings]]<br />
<br />
To use the proxy authentication feature:<br />
$ wget --proxy-user "DOMAIN\USER" --proxy-password "PASSWORD" URL<br />
<br />
Proxies that use HTML authentication forms are not covered.<br />
<br />
===pacman integration===<br />
To have [[pacman]] automatically use Wget and a proxy with authentication, place the Wget command into {{ic|/etc/pacman.conf}}, in the {{Ic|[options]}} section:<br />
XferCommand = /usr/bin/wget --proxy-user "domain\user" --proxy-password="password" --passive-ftp -c -O %o %u<br />
{{Warning|be aware that storing passwords in plain text is not safe. Make sure that only root can read this file with {{Ic|chmod 600 /etc/pacman.conf}}.}}<br />
<br />
==Usage==<br />
This section explains some of the use case scenarios for Wget.<br />
<br />
===Archive a complete website===<br />
Wget can archive a complete website whilst preserving the correct link destinations by changing absolute links to relative links.<br />
<br />
$ wget -np -r -k 'http://your-url-here'</div>Abd allatifhttps://wiki.archlinux.org/index.php?title=Wget_(Espa%C3%B1ol)&diff=262603Wget (Español)2013-06-13T09:26:01Z<p>Abd allatif: </p>
<hr />
<div>[[Category:Internet Applications (Español)]]<br />
[[ar:Wget]]<br />
[[en:Wget]]<br />
A veces se hace necesario ejecutar wget desde dentro de una red cuyo proxy requiere autentificación, o cuando pacman debe utilizar un proxy que requiera dicha autentification. Lo primero se puede conseguir de manera sencilla definiendo dos variables, en ~/.bashrc (tenga en cuenta que en este ejemplo se utiliza un proxy en la dirección 192.168.10.11, y escuchando en el puerto 8080):<br />
<br />
<pre><br />
export http_proxy="http://192.168.10.11:8080"<br />
export ftp_proxy="http://192.168.10.11:8080"<br />
</pre><br />
<br />
Entonces, ejecute tiene tan sólo que ejecutar wget con dos argumentos extra:<br />
<i><br />
--proxy-user="string"<br />
--proxy-passwd="string"<br />
</i><br />
<br />
Por ejemplo (Nombre de dominio: Wonderwall, usuario JohnDoe, contraseña Go4It"):<br />
<br />
<pre>wget --proxy-user "Wonderwall\JohnDoe" --proxy-passwd "Go4It" URL</pre><br />
<br />
Es posible establecer un alias, lo que de nuevo puede hacerse en ~/.bashrc, tal como:<br />
<br />
<pre><br />
alias wget 'wget --proxy-user "Wonderwall\JohnDoe" --proxy-passwd="Go4It"'<br />
</pre><br />
<br />
Esto, sin embargo, representa un riesgo para la seguridad, ya que la contraseña es accesible para todo aquel que pueda leer su archivo .bashrc, o ver su lista de alias. Por otra parte, en cualquier sistema donde alguien pueda leer el arbol /proc completo, es posible ver cualquier argumento pasado en línea de órdenes, tal como el usuario y la contraseña.<br />
<br />
Alternativamente, puede establecer el par usuario/contraseña en las variables http_proxy/ftp_proxy variables:<br />
<br />
<pre><br />
export http_proxy="http://wonderwall\\johndoe:Go4It@192.168.10.11:8080"<br />
export ftp_proxy="http://wonderwall\\johndoe:Go4It@192.168.10.11:8080"<br />
</pre><br />
<br />
Para hacer que pacman utilice automáticamente wget y el proxy, defina la variables de entorno (en ~/.bashrc) y coloque la orden wget en el archivo /etc/pacman.conf, en la sección [options]:<br />
<br />
<pre><br />
XferCommand = /usr/bin/wget --proxy-user "domain\user" --proxy-passwd="password" --passive-ftp -c -O %o %u<br />
</pre></div>Abd allatifhttps://wiki.archlinux.org/index.php?title=Wget_(%D8%A7%D9%84%D8%B9%D8%B1%D8%A8%D9%8A%D8%A9)&diff=262602Wget (العربية)2013-06-13T09:25:34Z<p>Abd allatif: Created page with "en:Wget es:Wget Category:العربية <div align=right dir=rtl> جنو wget هي حزمة برمجيات حرة تُستخدم للحصول على الملفات..."</p>
<hr />
<div>[[en:Wget]]<br />
[[es:Wget]]<br />
[[Category:العربية]]<br />
<div align=right dir=rtl><br />
جنو wget هي حزمة برمجيات حرة تُستخدم للحصول على الملفات بإستخدام HTTP,HTTPS و FTP. هذه الأداة هي أداة نصية غير تفاعلية يُمكن إستدعائها بسهولة من السكربتات، المهمات المجدولة، الطرفيات التي لا تحوي على خادم X ... الخ.<br />
<br />
==التنصيب==<br />
تكون wget منصبة بشكل إفتراضي. إذا لم يتم تنصيبها, يمكن تنصيب الحزمة {{Pkg|wget}} مُستخدمًا [[pacman]]. نسخة git متوفرة في AUR بالاسم {{AUR|wget-git}}.<br />
<br />
==الإعداد==<br />
الإعدادات تكون موجودة في ملف {{ic|/etc/wgetrc}}. لكن نادرًا ما يتم تعديل هذه الإعدادات. قم بالرجوع الى صفحة man لمزيد من المعلومات.<br />
<br />
===FTP أتمتة===<br />
بشكل عادم [[SSH]] تُستخدم لنقل الملفات بشكل آمن عبر الشبكة، لكن FTP أخف بكثير على موارد الجهاز مقارنًة مع scp. لكن FPT ليس آمنًا مقارنًة مع SSH لكن عند نقل ملفات ذات حجم كبير ضمن شبكة محمية بجدار ناري، يكون إستخدام FTP أفضل.<br />
<div align=left dir=ltr><br />
<pre><br />
wget ftp://root:somepassword@10.13.X.Y//ifs/home/test/big/"*.tar"<br />
<br />
3,562,035,200 74.4M/s in 47s<br />
</pre><br />
</div><br />
في هذه الحالة يكون Wget قد قام بنقل ملف ذو حجم 3.3 G بمعدل 74.4MB/second.<br />
<br />
بشكل مختصر، فوائد Wget هي :<br />
*قابلة للإستخدام في السكربتات<br />
*أسرع بكثير من SSH <br />
*easily used by languages than can substitute string variables<br />
*globbing capable<br />
<br />
===استخدام الخوادم الوسيطة===<br />
أداة wget تستخدم إعدادات proxy التي يتم تحديدها عبر متغيرات البيئة. راجع [[Proxy settings]].<br />
لإستخدام خاصية التحقق في خادم proxy :<br />
<div align=left dir=ltr><br />
$ wget --proxy-user "DOMAIN\USER" --proxy-password "PASSWORD" URL<br />
</div><br />
===pacman الدمج مع===<br />
لجعل [[pacman]] يقوم بإستخدام Wget مع وسيط يتطلب التحقق, قم بإضافة تعليمة Wget في ملف {{ic|/etc/pacman.conf}} في قسم {{Ic|[options]}}:<br />
<div align=left dir=ltr><br />
XferCommand = /usr/bin/wget --proxy-user "domain\user" --proxy-password="password" --passive-ftp -c -O %o %u<br />
</div><br />
{{Warning|كن حذرًا عند وضع كلمات المرور بشكل مقروء في الملفات، تأكد من أن المستخدم الجذر هو الوحيد الذي يملك صلاحيات القراءة على هذا الملف مُستخدمًا التعليمة التالية {{Ic|chmod 600 /etc/pacman.conf}}.}}<br />
<br />
==أمثلة عن الإستخدام==<br />
هذا القسم يحوي على عدد من الأمثلة عن إستخدام Wget:<br />
===خيار الإكمال===<br />
في بعض الأحيات يلزمك إستكمال تحميل ما إذا كان حجم الملف كبيرًا، يمكن ذلك بإستخدام الخيار -c في أمر wget :<br />
<div align=left dir=ltr><br />
wget -c url<br />
</div><br />
===تجاوز إعدادت الخادم الوسيط===<br />
في حال قمت بإعداد جهازك لإستخدام خادم وسيط وأردت لأداة wget تجاوزه، قم بإستخدام الخيار --no-proxy كالتالي :<br />
<div align=left dir=ltr><br />
wget --no-proxy url<br />
</div><br />
===أرشفة موقع ويب كامل===<br />
يمكن لأداة wget أن تقوم بارشفة مواقع بأكملها وأن تقوم بتحويل الروابط المطلقة الى ورابط نسبية :<br />
<div align=left dir=ltr><br />
$ wget -np -r -k 'http://your-url-here'<br />
</div><br />
</div></div>Abd allatifhttps://wiki.archlinux.org/index.php?title=Secure_Shell_(%D8%A7%D9%84%D8%B9%D8%B1%D8%A8%D9%8A%D8%A9)&diff=262573Secure Shell (العربية)2013-06-12T19:50:12Z<p>Abd allatif: </p>
<hr />
<div>[[Category:Secure Shell (العربية)]]<br />
[[Category:العربية]]<br />
[[Category:Networking (العربية)]]<br />
[[es:Secure Shell]]<br />
[[de:SSH]]<br />
[[fr:ssh]]<br />
[[it:Secure Shell]]<br />
[[ko:Secure Shell]]<br />
[[pl:Secure Shell]]<br />
[[pt:Secure Shell]]<br />
[[ru:Secure Shell]]<br />
[[sr:Secure Shell]]<br />
[[zh-CN:Secure Shell]]<br />
<div align=right dir=rtl><br />
'''الصدفة الآمنة''' ('''SSH''') هي بروتوكول من بروتوكولات الشبكة التي تسمح بتبادل البيانات عبر محطة آمنة بين حاسبين مختلفين, التشفير يضمن سرية المعلومات. إن ssh يستخدم التعمية بالمفتاح العمومي لكي يتم الإستيثاق بالحاسب الذي يقوم بإجراء الإتصال وللسماح بالإستيثاق من المستخدم إذا كان ذلك ضروريًا.<br />
<br />
بشكل عام تُستخدم ssh للولوج الى حاسب عن بعد و تنفيذ, لكنها أيضًا تدعم إنشاء لأنفاق الآمنة بالإضافة الى تمرير المنافذ و إتصالات X11 ونقل الملفات يمكن أن يتم يإستخدام بروتوكول sftp أو بروتوكول scp.<br />
<br />
إن خادم ssh بشكل إفتراضي يقوم بإستقبال الإتصالات عبر المنفذ الإفتراضي 22 tcp, عميل ssh هو عبارة عن برنامج يُستخدم لإنشاء إتصال الى خدمة ssh في حال تم إعداده لقبول الإتصالات. كلاهما يتوفر بشكل كبير في الأنظمة الشهيرة كنظام Mac OS X, GNU/Linux, Solaris و OpenVMS. برامج مملوكة و مفتوحة المصدر بمختلف الإصدارات ومختلف مراحل التعقيد و الكمالية متوفرة في الوقت الراهن.<br />
<br />
(Source: [[Wikipedia:Secure Shell]])<br />
<br />
== OpenSSH ==<br />
إن openssh (OpenBSD Secure Shell) هو مجموعة من برامج الحاسب التي توفر وسيلة تواصل مشفرة بين شبكة من الحواسيب بإستخدام بروتوكول ssh, تم تطويرها لتُشكل بديلاً عن برمجيات الصدفة الآمنة المملوكة التي تم تطويرها بواسطة SSH Communications Security. إن openSSH تم تطويرها كجزء من مشروع OpenBSD الذي كان بقيادة Theo de Raadt.<br />
<br />
عادةً ما يتم الخلط بين openSSH و بين OpenSSL, كلا المشروعين لديه هدفه الخاص ولا علاقة له بالمشروع الآخر, لكن تشابه الأسماء يشير فقط الى التشابه في الهدف الذي هو توفير بدلا مفتوح المصدر عن البرمجيات المملوكة.<br />
<br />
=== Installing OpenSSH ===<br />
قم بتنصيب حزمة OpenSSH من المستودعات الرسمية<br />
=== تهيئة إعدادات ssh ===<br />
====العميل====<br />
إن ملفي الإعدادات الخاصين بعميل ssh هما {{ic|/etc/ssh/ssh_config}} أو {{ic|~/.ssh/config}}.<br />
<br />
مثال عن ملف الإعدادت :<br />
<div align=left dir=ltr><br />
{{hc|/etc/ssh/ssh_config|<br />
# $OpenBSD: ssh_config,v 1.26 2010/01/11 01:39:46 dtucker Exp $<br />
<br />
# This is the ssh client system-wide configuration file. See<br />
# ssh_config(5) for more information. This file provides defaults for<br />
# users, and the values can be changed in per-user configuration files<br />
# or on the command line.<br />
<br />
# Configuration data is parsed as follows:<br />
# 1. command line options<br />
# 2. user-specific file<br />
# 3. system-wide file<br />
# Any configuration value is only changed the first time it is set.<br />
# Thus, host-specific definitions should be at the beginning of the<br />
# configuration file, and defaults at the end.<br />
<br />
# Site-wide defaults for some commonly used options. For a comprehensive<br />
# list of available options, their meanings and defaults, please see the<br />
# ssh_config(5) man page.<br />
<br />
# Host *<br />
# ForwardAgent no<br />
# ForwardX11 no<br />
# RhostsRSAAuthentication no<br />
# RSAAuthentication yes<br />
# PasswordAuthentication yes<br />
# HostbasedAuthentication no<br />
# GSSAPIAuthentication no<br />
# GSSAPIDelegateCredentials no<br />
# BatchMode no<br />
# CheckHostIP yes<br />
# AddressFamily any<br />
# ConnectTimeout 0<br />
# StrictHostKeyChecking ask<br />
# IdentityFile ~/.ssh/identity<br />
# IdentityFile ~/.ssh/id_rsa<br />
# IdentityFile ~/.ssh/id_dsa<br />
# Port 22<br />
# Protocol 2,1<br />
# Cipher 3des<br />
# Ciphers aes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,aes128-cbc,3des-cbc<br />
# MACs hmac-md5,hmac-sha1,umac-64@openssh.com,hmac-ripemd160<br />
# EscapeChar ~<br />
# Tunnel no<br />
# TunnelDevice any:any<br />
# PermitLocalCommand no<br />
# VisualHostKey no<br />
# ProxyCommand ssh -q -W %h:%p gateway.example.com<br />
}}<br />
</div><br />
من المُفضل تغيير السطر الخاص بنوع البروتوكول الى السطر التالي :<br />
Protocol 2<br />
<br />
هذا يعني أن البروتوكول 2 سيتم إستخدامه فقط، لأن البروتوكول 1 يتم إعتباره غير آمنة بالمقارنة من البروتوكول 2.<br />
<br />
====خدمة ssh====<br />
يمكن الحصول وتعديل على إعدادات خدمة ssh في الملف {{ic|/etc/ssh/ssh'''d'''_config}}.<br />
<br />
مثال عن ملف الإعدادات :<br />
<div align=left dir=ltr><br />
{{hc|/etc/ssh/sshd_config|2=<br />
# $OpenBSD: sshd_config,v 1.82 2010/09/06 17:10:19 naddy Exp $<br />
<br />
# This is the sshd server system-wide configuration file. See<br />
# sshd_config(5) for more information.<br />
<br />
# This sshd was compiled with PATH=/usr/bin:/bin:/usr/sbin:/sbin<br />
<br />
# The strategy used for options in the default sshd_config shipped with<br />
# OpenSSH is to specify options with their default value where<br />
# possible, but leave them commented. Uncommented options change a<br />
# default value.<br />
<br />
#Port 22<br />
#AddressFamily any<br />
#ListenAddress 0.0.0.0<br />
#ListenAddress ::<br />
<br />
# The default requires explicit activation of protocol 1<br />
#Protocol 2<br />
<br />
# HostKey for protocol version 1<br />
#HostKey /etc/ssh/ssh_host_key<br />
# HostKeys for protocol version 2<br />
#HostKey /etc/ssh/ssh_host_rsa_key<br />
#HostKey /etc/ssh/ssh_host_dsa_key<br />
#HostKey /etc/ssh/ssh_host_ecdsa_key<br />
<br />
# Lifetime and size of ephemeral version 1 server key<br />
#KeyRegenerationInterval 1h<br />
#ServerKeyBits 1024<br />
<br />
# Logging<br />
# obsoletes QuietMode and FascistLogging<br />
#SyslogFacility AUTH<br />
#LogLevel INFO<br />
<br />
# Authentication:<br />
<br />
#LoginGraceTime 2m<br />
#PermitRootLogin yes<br />
#StrictModes yes<br />
#MaxAuthTries 6<br />
#MaxSessions 10<br />
<br />
#RSAAuthentication yes<br />
#PubkeyAuthentication yes<br />
#AuthorizedKeysFile .ssh/authorized_keys<br />
<br />
# For this to work you will also need host keys in /etc/ssh/ssh_known_hosts<br />
#RhostsRSAAuthentication no<br />
# similar for protocol version 2<br />
#HostbasedAuthentication no<br />
# Change to yes if you do not trust ~/.ssh/known_hosts for<br />
# RhostsRSAAuthentication and HostbasedAuthentication<br />
#IgnoreUserKnownHosts no<br />
# Don't read the user's ~/.rhosts and ~/.shosts files<br />
#IgnoreRhosts yes<br />
<br />
# To disable tunneled clear text passwords, change to no here!<br />
#PasswordAuthentication yes<br />
#PermitEmptyPasswords no<br />
<br />
# Change to no to disable s/key passwords<br />
ChallengeResponseAuthentication no<br />
<br />
# Kerberos options<br />
#KerberosAuthentication no<br />
#KerberosOrLocalPasswd yes<br />
#KerberosTicketCleanup yes<br />
#KerberosGetAFSToken no<br />
<br />
# GSSAPI options<br />
#GSSAPIAuthentication no<br />
#GSSAPICleanupCredentials yes<br />
<br />
# Set this to 'yes' to enable PAM authentication, account processing, <br />
# and session processing. If this is enabled, PAM authentication will <br />
# be allowed through the ChallengeResponseAuthentication and<br />
# PasswordAuthentication. Depending on your PAM configuration,<br />
# PAM authentication via ChallengeResponseAuthentication may bypass<br />
# the setting of "PermitRootLogin without-password".<br />
# If you just want the PAM account and session checks to run without<br />
# PAM authentication, then enable this but set PasswordAuthentication<br />
# and ChallengeResponseAuthentication to 'no'.<br />
UsePAM yes<br />
<br />
#AllowAgentForwarding yes<br />
#AllowTcpForwarding yes<br />
#GatewayPorts no<br />
#X11Forwarding no<br />
#X11DisplayOffset 10<br />
#X11UseLocalhost yes<br />
#PrintMotd yes<br />
#PrintLastLog yes<br />
#TCPKeepAlive yes<br />
#UseLogin no<br />
#UsePrivilegeSeparation yes<br />
#PermitUserEnvironment no<br />
#Compression delayed<br />
#ClientAliveInterval 0<br />
#ClientAliveCountMax 3<br />
#UseDNS yes<br />
#PidFile /var/run/sshd.pid<br />
#MaxStartups 10<br />
#PermitTunnel no<br />
#ChrootDirectory none<br />
<br />
# no default banner path<br />
#Banner none<br />
<br />
# override default of no subsystems<br />
Subsystem sftp /usr/lib/ssh/sftp-server<br />
<br />
# Example of overriding settings on a per-user basis<br />
#Match User anoncvs<br />
# X11Forwarding no<br />
# AllowTcpForwarding no<br />
# ForceCommand cvs server<br />
}}<br />
</div><br />
لكي يتم السماح بالولوج فقط لمُستخدمين مُحددين، قم بإضافة السطر التالي الى ملف الإعدادت :<br />
<div align=left dir=ltr><br />
AllowUsers user1 user2<br />
</div><br />
<br />
ولإلغاء تفعيل دخول المستخدم الجذر root مباشرةً عبر خدمة ssh، قم بتعديل قمية الخاصية PermitRootLogin الى التالي :<br />
<div align=left dir=ltr><br />
PermitRootLogin no<br />
</div><br />
<br />
ولكي تُضيف رسالة ترحيب، قم بتعديل ملف {{ic|/etc/issue}} ومن ثم قم بتعديل السطر الخاص بالقيمة Banner الى التالي :<br />
<div align=left dir=ltr><br />
Banner /etc/issue<br />
</div><br />
<br />
{{تلميح : لربما تريد تغيير المنفذ الإفتراضي من 22 الى رقم منفذ أعلى منه (يُمكنك الرجوع الى المقال security through obscurity) (راجع [http://en.wikipedia.org/wiki/Security_through_obscurity security through obscurity]).}} <br />
<br />
وعلى الرغم من أن منفذ ssh يُمكن الكشف عنه بسهولةبإحدى أدوات المسح الخاصة بالشبكات nmap، لكن تغييره سيُفيد بتقليل عدد محاولات الدخول المؤتمتة، للمساعدة في إختيار رقم منفذ مناسب قم بمراجعة المقال التالي [[Wikipedia:List of TCP and UDP port numbers|list of TCP and UDP port numbers]].<br />
<br />
{{Tip|إلغاء تفعيل الدخول عن طريق كلمات المرور ستُزيد بشكل كبير من الأمان راجع مقال [[SSH Keys]] لمزيد من المعلومات.}}<br />
<br />
=== إدارة خدمة ssh ===<br />
يمكن بدء خدمة ssh بإستخدام التعلمية التالية :<br />
<div align=left dir=ltr><br />
# systemctl start sshd<br />
</div><br />
<br />
ويمكن تفعيل تشغيل خدمة ssh عند بدء تشغيل النظام بواسطة التعليمة التالية : # systemctl enable sshd.service<br />
<br />
{{تحذير|إن Systemd هو غير متزامن في بدء العمليات، لذا فإذا قُمت بتحديد خدمة ssh الى عنوان ip مُحدد ListenAddress 192.168.1.100، فيمكن أن تفشل في البدء أثناء الإقلاع، يُمكن حل هذه المشكلة بإضافة After&#61;network.target الى ملف الواحدة المُخصص، قم بمراجعة [[Systemd#Replacing provided unit files]].}}<br />
<br />
أو أن تقوم ببدء تشغيل خدمة ssh عند أول إتصال تتلقاه :<br />
# systemctl enable sshd.socket<br />
إذا كنت تستخدم منفذ غير منفذ 22 الإفتراضي، عليك وضع القيمة "ListenStream" في ملف الوحدة<br />
في ملف /etc/systemd/system/sshd.socket قم بتغيير القيمة "ListenStream" الى المنفذ المناسب.<br />
<br />
=== الإتصال بالخادم ===<br />
لكي تقوم بالإتصال بالخادم قم بتنفيذ التعليمة التالية :<br />
<div align=left dir=ltr><br />
$ ssh -p port user@server-address<br />
</div><br />
<br />
== عملاء و خوادم ssh الاخرى ==<br />
بعيدًا عن OpenSSH؛ يوجد هناك العديد من عملاء و خوادم ssh متاحة للإستخدام [[Wikipedia:Comparison of SSH clients|clients]] و [[Wikipedia:Comparison of SSH servers|servers]].<br />
<br />
=== Dropbear ===<br />
[[Wikipedia:Dropbear (software)|Dropbear]] هو خادم وعميل ssh-2. حزمة {{AUR|dropbear}} متوفرة في [[AUR]].<br />
<br />
إن عميل ssh الخاص بموجه الأوامر يُسمى dbclient.<br />
<br />
=== Mosh بديل SSH ===<br />
الجملة التالية مقتبسة من موقع [http://mosh.mit.edu/ mosh]:<br />
تطبيق يسمح بالإتصال عبر طرفية بعيدة, يدعم الإتصالات المتقطعة, ويقدم طريقة ذكية للتعديل السطري لكتابات المستخدم. Mosh هو بديل لخدمة ssh. هو أكثر قوة وإستجابة وخصوصًا عبر شبكات Wi-Fi, cellular و الشبكات بعيدة المدى.<br />
<br />
يمكنك تنصيب {{Pkg|mosh}} من المستودعات الرسمية، أو آخر نسخة {{AUR|mosh-git}} من [[AUR]].<br />
<br />
== تلمحيات ==<br />
<br />
=== Encrypted SOCKS tunnel ===<br />
هذه التلميحة مُفيدة جدًا لمستخدمي الحواسيب المُحمولة الذين يتصلون بشبكات WiFi غير آمنة. الشيء الوحيد الذي ستحتاج إليه هو خادم ssh يعمل في مكان آمن (العمل أو المنزل). من المفيد إستخدام خدمة DNS ديناميكية :[http://www.dyndns.org/ DynDNS] كمثال، لذا فلن تحتاج الى تذكر عنوان IP الخاص بك.<br />
<br />
==== الخطوة الولى : قم ببدء الإتصال ====<br />
عليك فقط تنفيذ التعليمة التالية لكي تقوم ببدء الإتصال بخادم ssh : $ ssh -TND 4711 user@host<br />
حيث {{Ic|"user"}} هو اسم المستخدم الخاص بك على الخادم {{Ic|"host"}}، سوف يتم سؤالك عن كلمة المرور الخاصة بك. بعد ذلك تكون قد قمت بالإتصال بنجاح. الراية {{Ic|"N"}} fتقوم بإلغاء تفعيل موجه الأوامر التفاعلي بينما الراية D تقوم بتحديد منفذ محلي يمكنك الإتصال منه (تستطيع إختيار أي رقم تريده). الراية {{Ic|"T"}} تقوم بإلغاء تفعيل حصة pseudo-tty.<br />
<br />
من المفيد استخدام الراية {{Ic|"-v"}} لأنها تسمح لك من التأكد من أن عملية الإتصال تمت بنجاح من المخرجات.<br />
<br />
==== الخطوة الثانية : إعداد المتصفح (أو بقية البرامج) ====<br />
الخطوة السابقة عديمة الجدوى تمامًا إن لم تقترن بالإعداد الصحيح لمتصفح الويب -أو أي برنامج آخر- لإستخدام انبوب socks الذي قمنا بإنشاءه.<br />
وبما أن النسخة الحالية من ssh تدعم SOCKS4 و SOCKS5 فيمكنك إستخدام أي منهما.<br />
<br />
لإعداد متصفح firefox : في البداية قم بالدخول الى Edit → Preferences → Advanced → Network → Connection → Setting :<br />
قم بتحديد الخيار "Manual proxy configuration" وقم بإدخال القيمة "localhost" في مربع النص المُعنون "SOCKS host" ومن ثم قم بإدخال رقم المنفذ الذي قمت بتحديده في الخطوة السابقة (تم إستخدام 4711)<br />
<br />
متصفح firefox لا يقوم بشكل تلقائي بعمل طلبات DNS عبر انبوب socks، هذا الأمر قد يُعرض خصوصيتك للخر لذا قم بعمل الخطوات التالية :<br />
<br />
- قم بطلب الصفحة about:config في شريط العنوان الخاص بمتصفح firefox<br />
- ابحث عن الراية network.proxy.socks_remote_dns<br />
- قم بتحديد true كقيمة لهذه الراية<br />
- قم بإعادة تشغيل المتصفح<br />
<br />
وأما مُتصفح Chromium فيمكنك تحديد إعدادات socks كمتغيرات خاصة بالبيئة أو بإستخدامها كوسيط في سطر الأوامر، أنا أفضل إضافة إحدى الدالتين الى ملف {{ic|.bashrc}} الخاص بك :<br />
<div align=left dir=ltr><br />
function secure_chromium {<br />
port=4711<br />
export SOCKS_SERVER=localhost:$port<br />
export SOCKS_VERSION=5<br />
chromium &<br />
exit<br />
}<br />
</div><br />
أو<br />
<div align=left dir=ltr><br />
function secure_chromium {<br />
port=4711<br />
chromium --proxy-server="socks://localhost:$port" &<br />
exit<br />
}<br />
</div><br />
<br />
الآن قم بفتح نافذة الطرفية و نفذ الأمر التالي :<br />
<div align=left dir=ltr><br />
$ secure_chromium<br />
</div><br />
<br />
=== تمرير X11 ===<br />
إذا أردت تشغيل برمجيات رسومية عبرإتصال ssh، يتوجب عليك تفعيل خيار تمرير X11 في ملفات الإعدادات في الخادم و العميل (هنا "العميل" هو الجهاز الذي يعمل عليه خادم X11 و يقوم بالإتصال بخدمات X11 من جهاز "الخادم").<br />
<br />
قم بتنصيب الحزمة {{Pkg|xorg-xauth}} من المستودعات الرسمية الى الخادم<br />
<br />
قم بتفعيل الخيار AllowTcpForwarding في ملف {{ic|ssh'''d'''_config}} على الخادم<br />
قم بتفعيل الخيار X11Forwarding في ملف {{ic|ssh'''d'''_config}} على الخادم<br />
قم بتحديد قيمة الخيار X11DisplayOffset في ملف {{ic|ssh'''d'''_config}} على الخادم الى الرقم 10<br />
قم بتفعيل الخيار X11UseLocalhost في ملف {{ic|ssh'''d'''_config}} على الخادم<br />
يتوجب عليك أيضًا :<br />
تفعيل الخيار X11UseLocalhost في ملف {{ic|ssh_config}} على العميل<br />
قم بتفعيل الخيار ForwardX11Trusted إذا وجدت مشاكل في الواجهة الرسومية<br />
<br />
بالطبع يتوجب عليك إعادة تشغيل خدمة ssh في الخادم لكي يتم تطبيق الإعدادت السابقة .<br />
<br />
عندما تقوم بإتسخدام تمرير X11 قم بتنفيذ الأمر التالي في الطرفية <br />
<div align=left dir=ltr><br />
$ ssh -X -p port user@server-address<br />
</div><br />
إذا واجهت مشكل في تشغيل البرمجيات الرسومية قم بعمل تمرير موثوق مستخدمًا الأمر التالي :<br />
<div align=left dir=ltr><br />
$ ssh -Y -p port user@server-address<br />
</div><br />
الآن عندما تقوم بتشغيل البرمجيات الرسومية على الخادم، فسيتم تمرير المخرجات الى جهازك المحلي.<br />
<div align=left dir=ltr><br />
$ xclock<br />
</div><br />
<br />
إذا واجهت أخطاء من قبيل "Cannot open display"، قم بتطبيق التعليمة التالية كمستخدم غير مدير للنظام :<br />
<div align=left dir=ltr><br />
$ xhost +<br />
</div><br />
<br />
التعليمة السابقة تقوم بالسماح بتمرير تطبيقات X11 للجميع، إذا أردت حصر ذلك بجهاز معين قم بإستخدام التعليمة التالية :<br />
<div align=left dir=ltr><br />
$ xhost +hostname<br />
</div><br />
<br />
حيث hostname هو اسم الجهاز الذي تريد تمرير إتصالات X11 له. يمكنك الرجوع الى "man xhost" لمزيد من المعلومات عن إستخدام هذا التعليمة.<br />
<br />
كن حذرًا مع بعض البرامج التي تتحقق من بيئة العمل المُستخدمة على الجهاز المحلي، مثال عليها برنامج firefox. فيمكنك إغلاق برنامج firefox أو عن طريق تشغيل firefox مفعلًا الخيار -no-remote :<br />
<div align=left dir=ltr><br />
$ firefox -no-remote<br />
</div><br />
إذا ظهرت لك رسالة الخطأ التالية "X11 forwarding request failed on channel 0" فقم بإحدى الخطوتين التاليتين :<br />
* قم بتفعيل خيار'''AddressFamily any''' في ملف {{ic|ssh'''d'''_config}} على الخادم.<br />
* قم بتحديد قيمة الخيار '''AddressFamily''' في ملف {{ic|ssh'''d'''_config}} على الخادم الى inet.<br />
تحديد القيمة inet للخيار AddressFamily يحّل المشاكل مع عملاء ubuntu الذين يستخدمون IPv4.<br />
<br />
=== تمرير المنافذ الاخرى ===<br />
بالإضافة الى خاصية تمرير X11 المدمجة مع ssh، يمكنك إنشاء نفق آمن لأي من إتصالات TCP، وذلك بإستخدام تمرير محلي أو عن بُعد.<br />
التمرير المحلي يقوم بفتح منفذ في الجهاز المحلي، الإتصالات سيتم تمريرها الى الخادم البعيد ومن ثم من هناك ستصل الى وجهتها.<br />
Very often, the forwarding destination will be the same as the remote host, thus providing a secure shell and, e.g. a secure VNC connection, to the same machine. Local forwarding is accomplished by means of the {{Ic|-L}} switch and it's accompanying forwarding specification in the form of {{Ic|<tunnel port>:<destination address>:<destination port>}}.<br />
<br />
Thus:<br />
<br />
$ ssh -L 1000:mail.google.com:25 192.168.0.100<br />
<br />
will use SSH to login to and open a shell on 192.168.0.100, and will also create a tunnel from the local machine's TCP port 1000 to mail.google.com on port 25. Once established, connections to localhost:1000 will connect to the Gmail SMTP port. To Google, it will appear that any such connection (though not necessarily the data conveyed over the connection) originated from 192.168.0.100, and such data will be secure as between the local machine and 192.168.0.100, but not between 192.168.0.100, unless other measures are taken.<br />
<br />
Similarly:<br />
<br />
$ ssh -L 2000:192.168.0.100:6001 192.168.0.100<br />
<br />
will allow connections to localhost:2000 which will be transparently sent to the remote host on port 6001. The preceding example is useful for VNC connections using the vncserver utility--part of the tightvnc package--which, though very useful, is explicit about its lack of security.<br />
<br />
Remote forwarding allows the remote host to connect to an arbitrary host via the SSH tunnel and the local machine, providing a functional reversal of local forwarding, and is useful for situations where, e.g., the remote host has limited connectivity due to firewalling. It is enabled with the {{Ic|-R}} switch and a forwarding specification in the form of {{Ic|<tunnel port>:<destination address>:<destination port>}}.<br />
<br />
Thus:<br />
<br />
$ ssh -R 3000:irc.freenode.net:6667 192.168.0.200<br />
<br />
will bring up a shell on 192.168.0.200, and connections from 192.168.0.200 to itself on port 3000 (remotely speaking, localhost:3000) will be sent over the tunnel to the local machine and then on to irc.freenode.net on port 6667, thus, in this example, allowing the use of IRC programs on the remote host to be used, even if port 6667 would normally be blocked to it.<br />
<br />
Both local and remote forwarding can be used to provide a secure "gateway," allowing other computers to take advantage of an SSH tunnel, without actually running SSH or the SSH daemon by providing a bind-address for the start of the tunnel as part of the forwarding specification, e.g. {{Ic|<tunnel address>:<tunnel port>:<destination address>:<destination port>}}. The {{Ic|<tunnel address>}} can be any address on the machine at the start of the tunnel, {{Ic|localhost}}, {{Ic|*}} (or blank), which, respectively, allow connections via the given address, via the loopback interface, or via any interface. By default, forwarding is limited to connections from the machine at the "beginning" of the tunnel, i.e. the {{Ic|<tunnel address>}} is set to {{Ic|localhost}}. Local forwarding requires no additional configuration, however remote forwarding is limited by the remote server's SSH daemon configuration. See the {{Ic|GatewayPorts}} option in {{Ic|sshd_config(5)}} for more information.<br />
<br />
=== تسريع ssh ===<br />
يُمكنك جعل جميع الجلسات الى الخادم نفسه تستخدم إتصالًا واحدًا، هذا يؤدي الى تسريع عملية الولوج، وذلك بإضافة السطور التالية تحت اسم المُضيف المُناسب في ملف {{ic|/etc/ssh/ssh_config}} :<br />
<div align=left dir=ltr><br />
ControlMaster auto<br />
ControlPath ~/.ssh/socket-%r@%h:%p<br />
</div><br />
<br />
تغيير خوارزمية التشفير المُستخدمة من قبل ssh تُساعد بشكل كبير على تحسين السرعة. في هذا المجال أفصل الخيارات هي arcfour و blowfish-cbc، رجاءً لا تقم بتغييرها إلا إذا كنت تعلم ما تفعله، لخوارزمية arcfour عدد من الجوانب الضعيفة. لإستخدمهم قم بتنفيذ التعليمة التالية :<br />
<br />
$ ssh -c arcfour,blowfish-cbc user@server-address<br />
لإستخدامها بشكل دائم، ضع هذا السطر تحت اسم المضيف المناسب في ملف {{ic|/etc/ssh/ssh_config}}:<br />
Ciphers arcfour,blowfish-cbc<br />
خيار آخر لكي تُحسن من سرعة SSH هو تفعيل خيار الضغط بإستخدام راية {{Ic|"C"}}. ولتفعيل هذه الميزة دومًا قم بإضافة السطر التالي تحت اسم المُضيف المُناسب في ملف {{ic|/etc/ssh/ssh_config}}:<br />
Compression yes<br />
الوقت الآزم لتسجيل الدخول يُمكن أن يُقلل بإستخدام الراية {{Ic|"4"}}، التي تقوم بتجاوز البحث ببروتوكول IPv6. يُمكن تفعيل هذه الميزة بشكل دائم عن طريق إضافة السطر التالي تحت اسم المُضيف المناسب في ملف {{ic|/etc/ssh/ssh_config}}:<br />
AddressFamily inet<br />
طريقة اخرى لتفعيل هذه الخيارات بشكل دائم هي إنشاء مكافئ في ملف {{ic|~/.bashrc}}:<br />
alias ssh='ssh -C4c arcfour,blowfish-cbc'<br />
<br />
=== وصل نظام ملفات خاص بحاسب بعيد عن طريق sshfs ===<br />
يرجى الرجوع الى مقال [[Sshfs]] لمعرفة المزيد حول وصل نظام الملفات خاص بحاسب بعيد -قابل للوصول عبر ssh- الى مجلد محلي. يمكنك القيام بأي تعليمة وبأي أداة على الملفات الموصولة (نسخ، إعداة تسمية، تعديل بمُحرر vim...الخ). استخدم sshfs عوضًا عن shfs (لم يتم إصدار نسخة جديدة منه منذ 2004 !).<br />
<br />
=== إبقاء الإتصال مفتوحًا ===<br />
جلسة ssh الخاصة بك سوف تقوم بتسجيل الخروج عندما لا يتم إستخدمها، لإبقاء الإتصال مفتوحًا قم بإضافة السطر التالي لأحد الملفين {{ic|~/.ssh/config}} أو {{ic|/etc/ssh/ssh_config}} في جهاز العميل :<br />
<div align=left dir=ltr><br />
ServerAliveInterval 120<br />
</div><br />
<br />
السطر السابق يقوم بإرسال إشارة "keep alive" كل 120 ثانية.<br />
<br />
وبشكل آخر يمكن إبقاء الإتصالات مفتوحة عن طريق تعيين القيمة 120 أو أي رقم آخر أكبر من 0 في ملف {{ic|/etc/ssh/sshd_config}} على الخادم، كالتالي :<br />
<div align=left dir=ltr><br />
ClientAliveInterval 120<br />
</div><br />
<br />
=== حفظ بيانات الإتصال في ملف إعدادات ssh ===<br />
عندما تقوم بالولوج الى خادم ssh، فإنك ستقوم بإدخال اسم المستخدم وعنوان الخادم على الأقل. إذا أردت توقير هذا الوقت; يمكنك استخدام الملف {{ic|$HOME/.ssh/config}} الخاص بك، أو الملف العام {{ic|/etc/ssh/ssh_config}} كما في المثال التالي :<br />
<div align=left dir=ltr><br />
{{hc|$HOME/.ssh/config|<br />
Host myserver<br />
HostName 123.123.123.123<br />
Port 12345<br />
User bob<br />
Host other_server<br />
HostName test.something.org<br />
User alice<br />
CheckHostIP no<br />
Cipher blowfish<br />
}}<br />
</div><br />
الآن يمكنك الإتصال بالخادم عن طريق الأمر التالي :<br />
<div align=left dir=ltr><br />
$ ssh myserver<br />
</div><br />
<br />
للإطلاع على القائمة الكاملة للخيارات التي تستطيع إستخدمها يمكنك الرجوع الى صفحة الدليل الخاصة بـ ssh_config أو مقال[http://www.openbsd.org/cgi-bin/man.cgi?query=ssh_config ssh_config documentation] الموجود في الموقع الرسمي.<br />
<br />
=== إعادة تشغيل جلسات و انفاق ssh تلقائيًا - Autossh ===<br />
عندما يتعذر إبقاء جلسة أو نفق ssh مفتوحًا (على سبيل المثال أوضاع الشبكة سيئة تؤدي الى إنقطاع الإتصال بخادم ssh...)، يمكنك إستخدام الحزمة Autossh لإعادة الإتصال تلقائيًاـ حزمة Autossh يمكن تنصيبها من المستودعات الرسمية.<br />
<br />
أمثلة عن طرق الإستخدام :<br />
<div align=left dir=ltr><br />
$ autossh -M 0 -o "ServerAliveInterval 45" -o "ServerAliveCountMax 2" username@example.com<br />
</div><br />
مدمجة مع خدمة [[ sshfs ]]:<br />
<div align=left dir=ltr><br />
$ sshfs -o reconnect,compression=yes,transform_symlinks,ServerAliveInterval=45,ServerAliveCountMax=2,ssh_command='autossh -M 0' username@example.com: /mnt/example <br />
</div><br />
الإتصال بواسطة وسيط SOCKS :<br />
<div align=left dir=ltr><br />
$ autossh -M 0 "ServerAliveInterval 45" -o "ServerAliveCountMax 2" -NCD 8080 username@example.com <br />
</div><br />
عند إستخدام الخيار -f، Autossh سيتم تشغيله كعملية في الخلفية، تشغيله بهذه الطريقة يعني أنظ لا تستطيع إدخال معلومات الإتصال بشكل تفاعلي.<br />
سيتم إنهاء الجلسة فقط عندما تتم كتابة exit أو عندما تتلقى Autossh إشارة SIGTERM, SIGINT , SIGKILL<br />
<br />
إذا أردت تشغيل autossh تلقائيًا، يُمكنك وبسهولة استخدام systemd، فعلى سبيل المثال يُمكنك إنشاء ملف واحدة خاص بخدمة systemd على الشكل التالي :<br />
<div align=left dir=ltr><br />
[Unit]<br />
Description=AutoSSH service for port 2222<br />
After=network.target<br />
<br />
[Service]<br />
ExecStart=/usr/bin/autossh -M 0 2222:localhost:2222 foo@bar.com<br />
</div><br />
ومن ثم قم بوضعها في ملف -وعلى سبيل المثال- /etc/systemd/system/system/autossh.service، بالطبع يُمكنك إنشاء ملف واحدة أكثر تعقيدًا إذا كان ذلك ضروريًا (يُمكنك الرجوع الى التوثيق الخاص بخدمة systemd لمزيد من التفاصيل)، وبكل تأكيد يُمكنك إستخدام الخيارات الخاصة بك في autossh.<br />
<br />
ومن ثم قم بتفعيل أنفاق autossh كالتالي :<br />
<div align=left dir=ltr><br />
$ systemctl start autossh<br />
</div><br />
(أو حسب ما قمُت بتسمية ملف الواحدة)<br />
<br />
من المُمكن أيضًا التعامل مع عدة عمليات autossh سويًا، وذلك لإبقاء الإتصال مفتوحًا في عدة أنفاق. عليك فقط إنشاء ملفات .service متعددة ذات أسماء مُختلفة.<br />
<br />
== إستكشاف الأخطاء وإصلاحها ==<br />
=== الإتصالات تُرفض أو تنتهي مدتها ===<br />
<br />
==== هل الراوتر لديك يقوم بتمرير المنافذ؟ ====<br />
<br />
قم بتجاوز هذه الخطوة إذا كنت خلف NAT modem/router. (على سبيل المثال VPS أو غيره). أغلب المنازل أو الشركات الصغيرة يكون لديها NAT modem/router.<br />
<br />
أو شيئ يجب التحقق منه هو أن الراوتر لديك يقوم بتمرير إتصالات ssh القادمة الى جهازك المحلي. عنوان IP الخارجي الذي تم إعطاؤه لك من قبل مزود خدمة الإنترنت، وهو نفس العنوان الذي يتم ربطه مع الطلبات الخاجية من قبل الراوتر لديك. لذا يجب على الراوتر أن يعلم أن إتصالات SSH القادمة يجب أن يتم تمريرها الى خدمة sshd في جهازك المحلي.<br />
<br />
قم بمعرفة عنوان ip الخاص بجهازك في الشبكة المحلية :<br />
<div align=left dir=ltr><br />
ip a<br />
</div><br />
قم بالبحث عن الحقل الخاص بقيمة inet. ومن ثم قم بالدخول الى لوحة الإعدادات الخاصة بالراوتر لديك مُستخدمًا عنوان IP الخاص به. قم بإخبار الراوتر لديك بأن يقوم بتمرير الإتصالات الى عنوان inet IP قم بزيارة موقع [http://portforward.com/] لمزيد من المعلومات حول كيفية تمرير المنافذ في الراوتر الخاص بك.<br />
<br />
==== هل خدمة ssh تعمل؟ ====<br />
<div align=left dir=ltr><br />
$ ss -tnlp<br />
</div><br />
إذا لم تُظهر التعليمة السابقة أن منفذ ssh مفتوح فإن خدمة ssh لا تعمل، قم بالتحقق من ملف {{ic|/var/log/messages}} للحصول على الأخطاء.<br />
<br />
==== هل يقوم الجدار الناري الخاص بك بحجب الإتصالات ؟ ====<br />
{{out of date|rc.d is deprecated with systemd}}<br />
Flush your iptables rules to make sure they are not interfering:<br />
<div align=left dir=ltr><br />
# rc.d stop iptables<br />
</div><br />
أو:<br />
<div align=left dir=ltr><br />
# iptables -P INPUT ACCEPT<br />
# iptables -P OUTPUT ACCEPT<br />
# iptables -F INPUT<br />
# iptables -F OUTPUT<br />
</div><br />
==== هل يصل الإتصال أساسًا الى جهازك؟ ====<br />
قم بعمل traffic dump في الجهاز الذي تواجه فيه المشاكل بإستخدام التعليمة التالية:<br />
<div align=left dir=ltr><br />
# tcpdump -lnn -i any port ssh and tcp-syn<br />
</div><br />
سيتم إظهار بعض المعلومات البسيطة، الآن قم بتجربة الإتصال. إذا لم تشاهد أي مخرجات خلال عملية الإتصال, فهذا يعني أن شيئاً ما خارج جهازك يمنع الإتصال (على بسيل المثال : جدار ناري خارجي أو NAT راوتر).<br />
<br />
==== هل يقوم مزود الخدمة الخاص بك أو أي جهة اخرى بحجب المنفذ الإفتراضي ؟ ====<br />
{{Note|قم بتجريب الخطوة التالية فقط إذا كنت '''متأكدًا''' من أنك لا تستخدم أي جدار ناري وقمت بإعداد الراوتر لديك إعدادًا صحيحًا وذلك بتمرير المنفذ الى جهازك المحلي.}}<br />
<br />
في بعض الحالات، يقوم مزود الخدمة الخاص بك بحجب المنفذ الإفتراضي 22 لذا مهما حاولت من طرق فهي لن تُجدي نفعًا.<br />
<br />
إذا واجهتك رسالة شبيهة بالرسالة التالية :<br />
<div align=left dir=ltr><br />
ssh: connect to host www.inet.hr port 22: Connection refused<br />
</div><br />
فهذا لا يعني أن المنفذ قم تم حجبه من قبل مزود الخدمة، بل أن الخادم لا يُشغل خدمة SSH على هذا المنفذ(راجع [http://en.wikipedia.org/wiki/Security_through_obscurity security through obscurity]).<br />
<br />
أما إذا واجهت رسالة كالرسالة التالية :<br />
<div align=left dir=ltr><br />
ssh: connect to host 111.222.333.444 port 22: Operation timed out <br />
</div><br />
هذا يعني أن هنالك شيئ يمنع إتصال TCP على المنفذ 22. إذا كنت متأكدًا تمامًا من الإعداد الصحيح للجدار الناري و/أو الراوتر، فإن ذلك يعني أن المنفذ محجوب من قبل مزود الخدمة.<br />
لزيادة التحقق، قم بتشغيل Wireshark على الخادم وقم بمراقبة المرور على المنفذ 22. بعد إعداده أن لم تحصل على أي مخرجات بينما تحاول الإتصال فهذا يعني ان جهة خارجية تقوم بحجب الإتصال.<br />
<br />
===== التحقق بإستخدام Wireshark =====<br />
قم بتنصيب Wireshark عن طريق الحزمة {{Pkg|wireshark-cli}}، الموجودة في المستودعات الرسمية.<br />
<br />
ومن ثم قم بتشغيلها مُستخدمًا التعليمة التالية:<br />
tshark -f "tcp port 22" -i NET_IF<br />
<br />
حيث NET_IF هو واجهة الشبكة لإتصال WAN. إذا لم تتلقى أي حزم إتصال عندما تحاول الإتصال عن بعد، فيمكنك التاكد تمامًا أن مزود الخدمة لديك يحجب المنفذ 22.<br />
<br />
===== حل هذه المشكلة =====<br />
الحل هو إستخدام منفذ آخر لا يقوم مزود الخدمة لديك بحجبه. قم بفتح ملف {{ic|/etc/ssh/sshd_config}} وضبط الإعدادات فيه لإستخدام منفذ آخر. على سبيل المثال قم بإضاة التالي :<br />
<br />
Port 22<br />
Port 1234<br />
<br />
أيضًا تاكد من أن الأسطر التي يوجد فيها إعدادت بقية المنافذ. عند إضافة "Port 1234" وحذف "Port 22" سيجعل خدمة sshd تقبل الإتصالات من المنفذ 1234 فقط. لذا قم بإستخدام كلا المنفذين.<br />
<br />
قم بإعادة تشغيل الخدمة عن طريق الأمر {{ic|systemctl restart sshd.service}}. ولم يبقى عليك سوى إعداد العميل لديك ليستخدم المنفذ الجديد بدلًا من المنفذ الإفتراضي.<br />
<br />
==== مشكلة Read from socket failed: connection reset by peer ====<br />
الإصدارات التي اطلقت مؤخرًا من openssh تفشل في بعض الأحيان مخرجةً رسالة خطأ كالرسالة السابقة بسبب وجود علّة في خاصية التشفير فيها. في هذه الحالة قم بإضافة السطر التالي الى ملف {{ic|~/.ssh/config}}:<br />
<br />
HostKeyAlgorithms ssh-rsa-cert-v01@openssh.com,ssh-dss-cert-v01@openssh.com,ssh-rsa-cert-v00@openssh.com,ssh-dss-cert-v00@openssh.com,ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,ssh-rsa,ssh-dss<br />
<br />
في إصدار openssh 5.9 السطر السابق لا يقوم بحل المشكلة. لذا قم بوضع السطور التالية في ملف {{ic|~/.ssh/config}}:<br />
<br />
Ciphers aes128-ctr,aes192-ctr,aes256-ctr,aes128-cbc,3des-cbc <br />
MACs hmac-md5,hmac-sha1,hmac-ripemd160<br />
<br />
راجع أيضًا [http://www.gossamer-threads.com/lists/openssh/dev/51339 discussion] في مركز علل openssh<br />
<br />
=== "[الصدفة التي تستخدمها]: No such file or directory" ===<br />
مسبب من مسببات هذه المشكلة هو أن بعض عملاء SSH يحتاجون الى معرفة المسار المطلق عن طريق الأمر {{Ic|whereis -b [your shell]}}، وحتى لوكان الملف التنفيئي للصدفة موجود في {{Ic|$PATH}}. سبب آخر هو أن المستخدم ليس عضوًا في مجموعة ''network''.<br />
<br />
===ظهور رسالة الخطأ "Terminal unknown" أو "Error opening terminal"===<br />
من الممكن عند إستخدام ssh الحصول على أخطاء من من قبيل "Terminal unknown" عندما تحاول تسجيل الدخول. بدء بعض التطبيقات كتطبيق nano يفشل مُظهرًا الرسالة "Error opening terminal". يوجد طريقتين لحل المشاكل من هذا النوع، الطريقة السلهة هي إستخدام المُتغير $TERM، أو باستخدام ملف terminfo.<br />
<br />
====الحل بواسطة المتغير $TERM====<br />
بعد الإتصال الى الخادم، قم بتحديد قيمة المتغير $TERM الى "xterm" مُستخدمًا التعليمة التالية :<br />
<div align=left dir=ltr><br />
{{ic|TERM&#61;xterm}}<br />
</div><br />
هذا الحل يحوي على بعض المشاكل الجانبية. ويتوجب عليك أيضًا أن تقوم بتكرار هذه التعليمة كل مرة تقوم فيها بتسجيل الدخول الى الخادم. أو بشكل بديل يمكنك وضعها في ملف ~.bashrc .<br />
====الحل بإستخدام ملف terminfo====<br />
حل آخر هو نقل ملف terminfo من جهازك المحلي الى الخادم. في هذا المثال سنقوم بشرح كيفية تهيئة ملف terminfo من أجل طرفية من نوع "rxvt-unicode-256color".<br />
قم بإنشاء مجلد يحوي على ملفات terminfo في خادم ssh، عندما تقوم بتسجيل الدخول الى الخادم قم بإستخدام هذه التعليمة :<br />
<div align=left dir=ltr><br />
<br />
{{ic| mkdir -p ~/.terminfo/r/}}<br />
<br />
</div><br />
<br />
الآن قم بنسخ ملف terminfo الخاص بالطرفيتك الى المجلد الجديد. مُستبدلًا ''"rxvt-unicode-256color"'' بالطرفية الخاصة بك في التعليمة التالية و ''ssh-server'' بإسم المستخدم وعنوان الخادم الخاصين بك<br />
<br />
<div align=left dir=ltr><br />
{{ic|$ scp /usr/share/terminfo/r/''rxvt-unicode-256color'' ssh-server:~/.terminfo/r/}}<br />
<br />
</div><br />
بعدما تقوم بتسجيل الخروج ومن ثم تسجيل الدخول مُجددًا، تكون المشكلة قد حُلّت.<br />
<br />
== شاهد أيضًا ==<br />
*[[SSH Keys]]<br />
*[[Pam abl]]<br />
*[[fail2ban]]<br />
*[[sshguard]]<br />
*[[Sshfs]]<br />
*[[Syslog-ng]] : لإرسال log الخاص بـ ssh الى ملف<br />
<br />
== Links & references ==<br />
*[http://www.soloport.com/iptables.html A Cure for the Common SSH Login Attack]<br />
*[http://www.la-samhna.de/library/brutessh.html Defending against brute force ssh attacks]<br />
*[http://www.ibm.com/developerworks/library/l-keyc/index.html OpenSSH key management, Part 1] and [http://www.ibm.com/developerworks/library/l-keyc2 Part 2] on IBM developerWorks<br />
</div></div>Abd allatifhttps://wiki.archlinux.org/index.php?title=Secure_Shell_(%D8%A7%D9%84%D8%B9%D8%B1%D8%A8%D9%8A%D8%A9)&diff=262571Secure Shell (العربية)2013-06-12T19:35:06Z<p>Abd allatif: </p>
<hr />
<div>[[Category:Secure Shell (العربية)]]<br />
[[Category:العربية]]<br />
[[Category:Networking (العربية)]]<br />
[[es:Secure Shell]]<br />
[[de:SSH]]<br />
[[fr:ssh]]<br />
[[it:Secure Shell]]<br />
[[ko:Secure Shell]]<br />
[[pl:Secure Shell]]<br />
[[pt:Secure Shell]]<br />
[[ru:Secure Shell]]<br />
[[sr:Secure Shell]]<br />
[[zh-CN:Secure Shell]]<br />
<div align=right dir=rtl><br />
'''الصدفة الآمنة''' ('''SSH''') هي بروتوكول من بروتوكولات الشبكة التي تسمح بتبادل البيانات عبر محطة آمنة بين حاسبين مختلفين, التشفير يضمن سرية المعلومات. إن ssh يستخدم التعمية يالمفتاح العمومي لكي يتم الإستيثاق بالحاسب الذي يقوم بإجراء الإتصال وللسماح بالإستيثاق من المستخدم إذا كان ذلك ضروريًا.<br />
<br />
بشكل عام تُستخدم ssh للولوج الى حاسب عن بعد و تنفيذ, لكنها أيضًا تدعم إنشاء لأنفاق الآمنة بالإضافة الى تمرير المنافذ و إتصالات X11 ونقل الملفات يمكن أن يتم يإستخدام بروتوكول sftp أو بروتوكول scp.<br />
<br />
إن خادم ssh بشكل إفتراضي يقوم بإستقبال الإتصالات عبر المنفذ الإفتراضي 22 tcp, عميل ssh هو عبارة عن برنامج يُستخدم لإنشاء إتصال الى خدمة ssh في حال تم إعداده لقبول الإتصالات. كلاهما يتوفر بشكل كبير في الأنظمة الشهيرة كنظام Mac OS X, GNU/Linux, Solaris و OpenVMS. برامج مملوكة و مفتوحة المصدر بمختلف الإصدارات ومختلف مراحل التعقيد و الكمالية متوفرة في الوقت الراهن.<br />
<br />
(Source: [[Wikipedia:Secure Shell]])<br />
<br />
== OpenSSH ==<br />
إن openssh (OpenBSD Secure Shell) هو مجموعة من برامج الحاسب التي توفر وسيلة تواصل مشفرة بين شبكة من الحواسيب بإستخدام بروتوكول ssh, تم تطويرها لتُشكل بديلاً عن برمجيات الصدفة الآمنة المملوكة التي تم تطويرها بواسطة SSH Communications Security. إن openSSH تم تطويرها كجزء من مشروع OpenBSD الذي كان بقيادة Theo de Raadt.<br />
<br />
عادةً ما يتم الخلط بين openSSH و بين OpenSSL, كلا المشروعين لديه هدفه الخاص ولا علاقة له بالمشروع الآخر, لكن تشابه الأسماء يشير فقط الى التشابه في الهدف الذي هو توفير بدلا مفتوح المصدر عن البرمجيات المملوكة.<br />
<br />
=== Installing OpenSSH ===<br />
قم بتنصيب حزمة OpenSSH من المستودعات الرسمية<br />
=== تهيئة إعدادات ssh ===<br />
====العميل====<br />
إن ملفي الإعدادات الخاصين بعميل ssh هما {{ic|/etc/ssh/ssh_config}} أو {{ic|~/.ssh/config}}.<br />
<br />
مثال عن ملف الإعدادت :<br />
<div align=left dir=ltr><br />
{{hc|/etc/ssh/ssh_config|<br />
# $OpenBSD: ssh_config,v 1.26 2010/01/11 01:39:46 dtucker Exp $<br />
<br />
# This is the ssh client system-wide configuration file. See<br />
# ssh_config(5) for more information. This file provides defaults for<br />
# users, and the values can be changed in per-user configuration files<br />
# or on the command line.<br />
<br />
# Configuration data is parsed as follows:<br />
# 1. command line options<br />
# 2. user-specific file<br />
# 3. system-wide file<br />
# Any configuration value is only changed the first time it is set.<br />
# Thus, host-specific definitions should be at the beginning of the<br />
# configuration file, and defaults at the end.<br />
<br />
# Site-wide defaults for some commonly used options. For a comprehensive<br />
# list of available options, their meanings and defaults, please see the<br />
# ssh_config(5) man page.<br />
<br />
# Host *<br />
# ForwardAgent no<br />
# ForwardX11 no<br />
# RhostsRSAAuthentication no<br />
# RSAAuthentication yes<br />
# PasswordAuthentication yes<br />
# HostbasedAuthentication no<br />
# GSSAPIAuthentication no<br />
# GSSAPIDelegateCredentials no<br />
# BatchMode no<br />
# CheckHostIP yes<br />
# AddressFamily any<br />
# ConnectTimeout 0<br />
# StrictHostKeyChecking ask<br />
# IdentityFile ~/.ssh/identity<br />
# IdentityFile ~/.ssh/id_rsa<br />
# IdentityFile ~/.ssh/id_dsa<br />
# Port 22<br />
# Protocol 2,1<br />
# Cipher 3des<br />
# Ciphers aes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,aes128-cbc,3des-cbc<br />
# MACs hmac-md5,hmac-sha1,umac-64@openssh.com,hmac-ripemd160<br />
# EscapeChar ~<br />
# Tunnel no<br />
# TunnelDevice any:any<br />
# PermitLocalCommand no<br />
# VisualHostKey no<br />
# ProxyCommand ssh -q -W %h:%p gateway.example.com<br />
}}<br />
</div><br />
من المُفضل تغيير السطر الخاص بنوع البروتوكول الى السطر التالي :<br />
Protocol 2<br />
<br />
هذا يعني أن البروتوكول 2 سيتم إستخدامه فقط، لأن البروتوكول 1 يتم إعتباره غير آمنة بالمقارنة من البروتوكول 2.<br />
<br />
====خدمة ssh====<br />
يمكن الحصول وتعديل على إعدادات خدمة ssh في الملف {{ic|/etc/ssh/ssh'''d'''_config}}.<br />
<br />
مثال عن ملف الإعدادات :<br />
<div align=left dir=ltr><br />
{{hc|/etc/ssh/sshd_config|2=<br />
# $OpenBSD: sshd_config,v 1.82 2010/09/06 17:10:19 naddy Exp $<br />
<br />
# This is the sshd server system-wide configuration file. See<br />
# sshd_config(5) for more information.<br />
<br />
# This sshd was compiled with PATH=/usr/bin:/bin:/usr/sbin:/sbin<br />
<br />
# The strategy used for options in the default sshd_config shipped with<br />
# OpenSSH is to specify options with their default value where<br />
# possible, but leave them commented. Uncommented options change a<br />
# default value.<br />
<br />
#Port 22<br />
#AddressFamily any<br />
#ListenAddress 0.0.0.0<br />
#ListenAddress ::<br />
<br />
# The default requires explicit activation of protocol 1<br />
#Protocol 2<br />
<br />
# HostKey for protocol version 1<br />
#HostKey /etc/ssh/ssh_host_key<br />
# HostKeys for protocol version 2<br />
#HostKey /etc/ssh/ssh_host_rsa_key<br />
#HostKey /etc/ssh/ssh_host_dsa_key<br />
#HostKey /etc/ssh/ssh_host_ecdsa_key<br />
<br />
# Lifetime and size of ephemeral version 1 server key<br />
#KeyRegenerationInterval 1h<br />
#ServerKeyBits 1024<br />
<br />
# Logging<br />
# obsoletes QuietMode and FascistLogging<br />
#SyslogFacility AUTH<br />
#LogLevel INFO<br />
<br />
# Authentication:<br />
<br />
#LoginGraceTime 2m<br />
#PermitRootLogin yes<br />
#StrictModes yes<br />
#MaxAuthTries 6<br />
#MaxSessions 10<br />
<br />
#RSAAuthentication yes<br />
#PubkeyAuthentication yes<br />
#AuthorizedKeysFile .ssh/authorized_keys<br />
<br />
# For this to work you will also need host keys in /etc/ssh/ssh_known_hosts<br />
#RhostsRSAAuthentication no<br />
# similar for protocol version 2<br />
#HostbasedAuthentication no<br />
# Change to yes if you do not trust ~/.ssh/known_hosts for<br />
# RhostsRSAAuthentication and HostbasedAuthentication<br />
#IgnoreUserKnownHosts no<br />
# Don't read the user's ~/.rhosts and ~/.shosts files<br />
#IgnoreRhosts yes<br />
<br />
# To disable tunneled clear text passwords, change to no here!<br />
#PasswordAuthentication yes<br />
#PermitEmptyPasswords no<br />
<br />
# Change to no to disable s/key passwords<br />
ChallengeResponseAuthentication no<br />
<br />
# Kerberos options<br />
#KerberosAuthentication no<br />
#KerberosOrLocalPasswd yes<br />
#KerberosTicketCleanup yes<br />
#KerberosGetAFSToken no<br />
<br />
# GSSAPI options<br />
#GSSAPIAuthentication no<br />
#GSSAPICleanupCredentials yes<br />
<br />
# Set this to 'yes' to enable PAM authentication, account processing, <br />
# and session processing. If this is enabled, PAM authentication will <br />
# be allowed through the ChallengeResponseAuthentication and<br />
# PasswordAuthentication. Depending on your PAM configuration,<br />
# PAM authentication via ChallengeResponseAuthentication may bypass<br />
# the setting of "PermitRootLogin without-password".<br />
# If you just want the PAM account and session checks to run without<br />
# PAM authentication, then enable this but set PasswordAuthentication<br />
# and ChallengeResponseAuthentication to 'no'.<br />
UsePAM yes<br />
<br />
#AllowAgentForwarding yes<br />
#AllowTcpForwarding yes<br />
#GatewayPorts no<br />
#X11Forwarding no<br />
#X11DisplayOffset 10<br />
#X11UseLocalhost yes<br />
#PrintMotd yes<br />
#PrintLastLog yes<br />
#TCPKeepAlive yes<br />
#UseLogin no<br />
#UsePrivilegeSeparation yes<br />
#PermitUserEnvironment no<br />
#Compression delayed<br />
#ClientAliveInterval 0<br />
#ClientAliveCountMax 3<br />
#UseDNS yes<br />
#PidFile /var/run/sshd.pid<br />
#MaxStartups 10<br />
#PermitTunnel no<br />
#ChrootDirectory none<br />
<br />
# no default banner path<br />
#Banner none<br />
<br />
# override default of no subsystems<br />
Subsystem sftp /usr/lib/ssh/sftp-server<br />
<br />
# Example of overriding settings on a per-user basis<br />
#Match User anoncvs<br />
# X11Forwarding no<br />
# AllowTcpForwarding no<br />
# ForceCommand cvs server<br />
}}<br />
</div><br />
لكي يتم السماح بالولوج فقط لمُستخدمين مُحددين، قم بإضافة السطر التالي الى ملف الإعدادت :<br />
<div align=left dir=ltr><br />
AllowUsers user1 user2<br />
</div><br />
<br />
ولإلغاء تفعيل دخول المستخدم الجذر root مباشرةً عبر خدمة ssh، قم بتعديل قمية الخاصية PermitRootLogin الى التالي :<br />
<div align=left dir=ltr><br />
PermitRootLogin no<br />
</div><br />
<br />
ولكي تُضيف رسالة ترحيب، قم بتعديل ملف {{ic|/etc/issue}} ومن ثم قم بتعديل السطر الخاص بالقيمة Banner الى التالي :<br />
<div align=left dir=ltr><br />
Banner /etc/issue<br />
</div><br />
<br />
{{تلميح : لربما تريد تغيير المنفذ الإفتراضي من 22 الى رقم منفذ أعلى منه (يُمكنك الرجوع الى المقال security through obscurity) (راجع [http://en.wikipedia.org/wiki/Security_through_obscurity security through obscurity]).}} <br />
<br />
وعلى الرغم من أن منفذ ssh يُمكن الكشف عنه بسهولةبإحدى أدوات المسح الخاصة بالشبكات nmap، لكن تغييره سيُفيد بتقليل عدد محاولات الدخول المؤتمتة، للمساعدة في إختيار رقم منفذ مناسب قم بمراجعة المقال التالي [[Wikipedia:List of TCP and UDP port numbers|list of TCP and UDP port numbers]].<br />
<br />
{{Tip|إلغاء تفعيل الدخول عن طريق كلمات المرور ستُزيد بشكل كبير من الأمان راجع مقال [[SSH Keys]] لمزيد من المعلومات.}}<br />
<br />
=== إدارة خدمة ssh ===<br />
يمكن بدء خدمة ssh بإستخدام التعلمية التالية :<br />
<div align=left dir=ltr><br />
# systemctl start sshd<br />
</div><br />
<br />
ويمكن تفعيل تشغيل خدمة ssh عند بدء تشغيل النظام بواسطة التعليمة التالية : # systemctl enable sshd.service<br />
<br />
{{تحذير|إن Systemd هو غير متزامن في بدء العمليات، لذا فإذا قُمت بتحديد خدمة ssh الى عنوان ip مُحدد ListenAddress 192.168.1.100، فيمكن أن تفشل في البدء أثناء الإقلاع، يُمكن حل هذه المشكلة بإضافة After&#61;network.target الى ملف الواحدة المُخصص، قم بمراجعة [[Systemd#Replacing provided unit files]].}}<br />
<br />
أو أن تقوم ببدء تشغيل خدمة ssh عند أول إتصال تتلقاه :<br />
# systemctl enable sshd.socket<br />
إذا كنت تستخدم منفذ غير منفذ 22 الإفتراضي، عليك وضع القيمة "ListenStream" في ملف الوحدة<br />
في ملف /etc/systemd/system/sshd.socket قم بتغيير القيمة "ListenStream" الى المنفذ المناسب.<br />
<br />
=== الإتصال بالخادم ===<br />
لكي تقوم بالإتصال بالخادم قم بتنفيذ التعليمة التالية :<br />
<div align=left dir=ltr><br />
$ ssh -p port user@server-address<br />
</div><br />
<br />
== عملاء و خوادم ssh الاخرى ==<br />
بعيدًا عن OpenSSH؛ يوجد هناك العديد من عملاء و خوادم ssh متاحة للإستخدام [[Wikipedia:Comparison of SSH clients|clients]] و [[Wikipedia:Comparison of SSH servers|servers]].<br />
<br />
=== Dropbear ===<br />
[[Wikipedia:Dropbear (software)|Dropbear]] هو خادم وعميل ssh-2. حزمة {{AUR|dropbear}} متوفرة في [[AUR]].<br />
<br />
إن عميل ssh الخاص بموجه الأوامر يُسمى dbclient.<br />
<br />
=== Mosh بديل SSH ===<br />
الجملة التالية مقتبسة من موقع [http://mosh.mit.edu/ mosh]:<br />
تطبيق يسمح بالإتصال عبر طرفية بعيدة, يدعم الإتصالات المتقطعة, ويقدم طريقة ذكية للتعديل السطري لكتابات المستخدم. Mosh هو بديل لخدمة ssh. هو أكثر قوة وإستجابة وخصوصًا عبر شبكات Wi-Fi, cellular و الشبكات بعيدة المدى.<br />
<br />
يمكنك تنصيب {{Pkg|mosh}} من المستودعات الرسمية، أو آخر نسخة {{AUR|mosh-git}} من [[AUR]].<br />
<br />
== تلمحيات ==<br />
<br />
=== Encrypted SOCKS tunnel ===<br />
هذه التلميحة مُفيدة جدًا لمستخدمي الحواسيب المُحمولة الذين يتصلون بشبكات WiFi غير آمنة. الشيء الوحيد الذي ستحتاج إليه هو خادم ssh يعمل في مكان آمن (العمل أو المنزل). من المفيد إستخدام خدمة DNS ديناميكية :[http://www.dyndns.org/ DynDNS] كمثال، لذا فلن تحتاج الى تذكر عنوان IP الخاص بك.<br />
<br />
==== الخطوة الولى : قم ببدء الإتصال ====<br />
عليك فقط تنفيذ التعليمة التالية لكي تقوم ببدء الإتصال بخادم ssh : $ ssh -TND 4711 user@host<br />
حيث {{Ic|"user"}} هو اسم المستخدم الخاص بك على الخادم {{Ic|"host"}}، سوف يتم سؤالك عن كلمة المرور الخاصة بك. بعد ذلك تكون قد قمت بالإتصال بنجاح. الراية {{Ic|"N"}} fتقوم بإلغاء تفعيل موجه الأوامر التفاعلي بينما الراية D تقوم بتحديد منفذ محلي يمكنك الإتصال منه (تستطيع إختيار أي رقم تريده). الراية {{Ic|"T"}} تقوم بإلغاء تفعيل حصة pseudo-tty.<br />
<br />
من المفيد استخدام الراية {{Ic|"-v"}} لأنها تسمح لك من التأكد من أن عملية الإتصال تمت بنجاح من المخرجات.<br />
<br />
==== الخطوة الثانية : إعداد المتصفح (أو بقية البرامج) ====<br />
الخطوة السابقة عديمة الجدوى تمامًا إن لم تقترن بالإعداد الصحيح لمتصفح الويب -أو أي برنامج آخر- لإستخدام انبوب socks الذي قمنا بإنشاءه.<br />
وبما أن النسخة الحالية من ssh تدعم SOCKS4 و SOCKS5 فيمكنك إستخدام أي منهما.<br />
<br />
لإعداد متصفح firefox : في البداية قم بالدخول الى Edit → Preferences → Advanced → Network → Connection → Setting :<br />
قم بتحديد الخيار "Manual proxy configuration" وقم بإدخال القيمة "localhost" في مربع النص المُعنون "SOCKS host" ومن ثم قم بإدخال رقم المنفذ الذي قمت بتحديده في الخطوة السابقة (تم إستخدام 4711)<br />
<br />
متصفح firefox لا يقوم بشكل تلقائي بعمل طلبات DNS عبر انبوب socks، هذا الأمر قد يُعرض خصوصيتك للخر لذا قم بعمل الخطوات التالية :<br />
<br />
- قم بطلب الصفحة about:config في شريط العنوان الخاص بمتصفح firefox<br />
- ابحث عن الراية network.proxy.socks_remote_dns<br />
- قم بتحديد true كقيمة لهذه الراية<br />
- قم بإعادة تشغيل المتصفح<br />
<br />
وأما مُتصفح Chromium فيمكنك تحديد إعدادات socks كمتغيرات خاصة بالبيئة أو بإستخدامها كوسيط في سطر الأوامر، أنا أفضل إضافة إحدى الدالتين الى ملف {{ic|.bashrc}} الخاص بك :<br />
<div align=left dir=ltr><br />
function secure_chromium {<br />
port=4711<br />
export SOCKS_SERVER=localhost:$port<br />
export SOCKS_VERSION=5<br />
chromium &<br />
exit<br />
}<br />
</div><br />
أو<br />
<div align=left dir=ltr><br />
function secure_chromium {<br />
port=4711<br />
chromium --proxy-server="socks://localhost:$port" &<br />
exit<br />
}<br />
</div><br />
<br />
الآن قم بفتح نافذة الطرفية و نفذ الأمر التالي :<br />
<div align=left dir=ltr><br />
$ secure_chromium<br />
</div><br />
<br />
=== تمرير X11 ===<br />
إذا أردت تشغيل برمجيات رسومية عبرإتصال ssh، يتوجب عليك تفعيل خيار تمرير X11 في ملفات الإعدادات في الخادم و العميل (هنا "العميل" هو الجهاز الذي يعمل عليه خادم X11 و يقوم بالإتصال بخدمات X11 من جهاز "الخادم").<br />
<br />
قم بتنصيب الحزمة {{Pkg|xorg-xauth}} من المستودعات الرسمية الى الخادم<br />
<br />
قم بتفعيل الخيار AllowTcpForwarding في ملف {{ic|ssh'''d'''_config}} على الخادم<br />
قم بتفعيل الخيار X11Forwarding في ملف {{ic|ssh'''d'''_config}} على الخادم<br />
قم بتحديد قيمة الخيار X11DisplayOffset في ملف {{ic|ssh'''d'''_config}} على الخادم الى الرقم 10<br />
قم بتفعيل الخيار X11UseLocalhost في ملف {{ic|ssh'''d'''_config}} على الخادم<br />
يتوجب عليك أيضًا :<br />
تفعيل الخيار X11UseLocalhost في ملف {{ic|ssh_config}} على العميل<br />
قم بتفعيل الخيار ForwardX11Trusted إذا وجدت مشاكل في الواجهة الرسومية<br />
<br />
بالطبع يتوجب عليك إعادة تشغيل خدمة ssh في الخادم لكي يتم تطبيق الإعدادت السابقة .<br />
<br />
عندما تقوم بإتسخدام تمرير X11 قم بتنفيذ الأمر التالي في الطرفية <br />
<div align=left dir=ltr><br />
$ ssh -X -p port user@server-address<br />
</div><br />
إذا واجهت مشكل في تشغيل البرمجيات الرسومية قم بعمل تمرير موثوق مستخدمًا الأمر التالي :<br />
<div align=left dir=ltr><br />
$ ssh -Y -p port user@server-address<br />
</div><br />
الآن عندما تقوم بتشغيل البرمجيات الرسومية على الخادم، فسيتم تمرير المخرجات الى جهازك المحلي.<br />
<div align=left dir=ltr><br />
$ xclock<br />
</div><br />
<br />
إذا واجهت أخطاء من قبيل "Cannot open display"، قم بتطبيق التعليمة التالية كمستخدم غير مدير للنظام :<br />
<div align=left dir=ltr><br />
$ xhost +<br />
</div><br />
<br />
التعليمة السابقة تقوم بالسماح بتمرير تطبيقات X11 للجميع، إذا أردت حصر ذلك بجهاز معين قم بإستخدام التعليمة التالية :<br />
<div align=left dir=ltr><br />
$ xhost +hostname<br />
</div><br />
<br />
حيث hostname هو اسم الجهاز الذي تريد تمرير إتصالات X11 له. يمكنك الرجوع الى "man xhost" لمزيد من المعلومات عن إستخدام هذا التعليمة.<br />
<br />
كن حذرًا مع بعض البرامج التي تتحقق من بيئة العمل المُستخدمة على الجهاز المحلي، مثال عليها برنامج firefox. فيمكنك إغلاق برنامج firefox أو عن طريق تشغيل firefox مفعلًا الخيار -no-remote :<br />
<div align=left dir=ltr><br />
$ firefox -no-remote<br />
</div><br />
إذا ظهرت لك رسالة الخطأ التالية "X11 forwarding request failed on channel 0" فقم بإحدى الخطوتين التاليتين :<br />
* قم بتفعيل خيار'''AddressFamily any''' في ملف {{ic|ssh'''d'''_config}} على الخادم.<br />
* قم بتحديد قيمة الخيار '''AddressFamily''' في ملف {{ic|ssh'''d'''_config}} على الخادم الى inet.<br />
تحديد القيمة inet للخيار AddressFamily يحّل المشاكل مع عملاء ubuntu الذين يستخدمون IPv4.<br />
<br />
=== تمرير المنافذ الاخرى ===<br />
بالإضافة الى خاصية تمرير X11 المدمجة مع ssh، يمكنك إنشاء نفق آمن لأي من إتصالات TCP، وذلك بإستخدام تمرير محلي أو عن بُعد.<br />
التمرير المحلي يقوم بفتح منفذ في الجهاز المحلي، الإتصالات سيتم تمريرها الى الخادم البعيد ومن ثم من هناك ستصل الى وجهتها.<br />
Very often, the forwarding destination will be the same as the remote host, thus providing a secure shell and, e.g. a secure VNC connection, to the same machine. Local forwarding is accomplished by means of the {{Ic|-L}} switch and it's accompanying forwarding specification in the form of {{Ic|<tunnel port>:<destination address>:<destination port>}}.<br />
<br />
Thus:<br />
<br />
$ ssh -L 1000:mail.google.com:25 192.168.0.100<br />
<br />
will use SSH to login to and open a shell on 192.168.0.100, and will also create a tunnel from the local machine's TCP port 1000 to mail.google.com on port 25. Once established, connections to localhost:1000 will connect to the Gmail SMTP port. To Google, it will appear that any such connection (though not necessarily the data conveyed over the connection) originated from 192.168.0.100, and such data will be secure as between the local machine and 192.168.0.100, but not between 192.168.0.100, unless other measures are taken.<br />
<br />
Similarly:<br />
<br />
$ ssh -L 2000:192.168.0.100:6001 192.168.0.100<br />
<br />
will allow connections to localhost:2000 which will be transparently sent to the remote host on port 6001. The preceding example is useful for VNC connections using the vncserver utility--part of the tightvnc package--which, though very useful, is explicit about its lack of security.<br />
<br />
Remote forwarding allows the remote host to connect to an arbitrary host via the SSH tunnel and the local machine, providing a functional reversal of local forwarding, and is useful for situations where, e.g., the remote host has limited connectivity due to firewalling. It is enabled with the {{Ic|-R}} switch and a forwarding specification in the form of {{Ic|<tunnel port>:<destination address>:<destination port>}}.<br />
<br />
Thus:<br />
<br />
$ ssh -R 3000:irc.freenode.net:6667 192.168.0.200<br />
<br />
will bring up a shell on 192.168.0.200, and connections from 192.168.0.200 to itself on port 3000 (remotely speaking, localhost:3000) will be sent over the tunnel to the local machine and then on to irc.freenode.net on port 6667, thus, in this example, allowing the use of IRC programs on the remote host to be used, even if port 6667 would normally be blocked to it.<br />
<br />
Both local and remote forwarding can be used to provide a secure "gateway," allowing other computers to take advantage of an SSH tunnel, without actually running SSH or the SSH daemon by providing a bind-address for the start of the tunnel as part of the forwarding specification, e.g. {{Ic|<tunnel address>:<tunnel port>:<destination address>:<destination port>}}. The {{Ic|<tunnel address>}} can be any address on the machine at the start of the tunnel, {{Ic|localhost}}, {{Ic|*}} (or blank), which, respectively, allow connections via the given address, via the loopback interface, or via any interface. By default, forwarding is limited to connections from the machine at the "beginning" of the tunnel, i.e. the {{Ic|<tunnel address>}} is set to {{Ic|localhost}}. Local forwarding requires no additional configuration, however remote forwarding is limited by the remote server's SSH daemon configuration. See the {{Ic|GatewayPorts}} option in {{Ic|sshd_config(5)}} for more information.<br />
<br />
=== تسريع ssh ===<br />
يُمكنك جعل جميع الجلسات الى الخادم نفسه تستخدم إتصالًا واحدًا، هذا يؤدي الى تسريع عملية الولوج، وذلك بإضافة السطور التالية تحت اسم المُضيف المُناسب في ملف {{ic|/etc/ssh/ssh_config}} :<br />
<div align=left dir=ltr><br />
ControlMaster auto<br />
ControlPath ~/.ssh/socket-%r@%h:%p<br />
</div><br />
<br />
تغيير خوارزمية التشفير المُستخدمة من قبل ssh تُساعد بشكل كبير على تحسين السرعة. في هذا المجال أفصل الخيارات هي arcfour و blowfish-cbc، رجاءً لا تقم بتغييرها إلا إذا كنت تعلم ما تفعله، لخوارزمية arcfour عدد من الجوانب الضعيفة. لإستخدمهم قم بتنفيذ التعليمة التالية :<br />
<br />
$ ssh -c arcfour,blowfish-cbc user@server-address<br />
لإستخدامها بشكل دائم، ضع هذا السطر تحت اسم المضيف المناسب في ملف {{ic|/etc/ssh/ssh_config}}:<br />
Ciphers arcfour,blowfish-cbc<br />
خيار آخر لكي تُحسن من سرعة SSH هو تفعيل خيار الضغط بإستخدام راية {{Ic|"C"}}. ولتفعيل هذه الميزة دومًا قم بإضافة السطر التالي تحت اسم المُضيف المُناسب في ملف {{ic|/etc/ssh/ssh_config}}:<br />
Compression yes<br />
الوقت الآزم لتسجيل الدخول يُمكن أن يُقلل بإستخدام الراية {{Ic|"4"}}، التي تقوم بتجاوز البحث ببروتوكول IPv6. يُمكن تفعيل هذه الميزة بشكل دائم عن طريق إضافة السطر التالي تحت اسم المُضيف المناسب في ملف {{ic|/etc/ssh/ssh_config}}:<br />
AddressFamily inet<br />
طريقة اخرى لتفعيل هذه الخيارات بشكل دائم هي إنشاء مكافئ في ملف {{ic|~/.bashrc}}:<br />
alias ssh='ssh -C4c arcfour,blowfish-cbc'<br />
<br />
=== وصل نظام ملفات خاص بحاسب بعيد عن طريق sshfs ===<br />
يرجى الرجوع الى مقال [[Sshfs]] لمعرفة المزيد حول وصل نظام الملفات خاص بحاسب بعيد -قابل للوصول عبر ssh- الى مجلد محلي. يمكنك القيام بأي تعليمة وبأي أداة على الملفات الموصولة (نسخ، إعداة تسمية، تعديل بمُحرر vim...الخ). استخدم sshfs عوضًا عن shfs (لم يتم إصدار نسخة جديدة منه منذ 2004 !).<br />
<br />
=== إبقاء الإتصال مفتوحًا ===<br />
جلسة ssh الخاصة بك سوف تقوم بتسجيل الخروج عندما لا يتم إستخدمها، لإبقاء الإتصال مفتوحًا قم بإضافة السطر التالي لأحد الملفين {{ic|~/.ssh/config}} أو {{ic|/etc/ssh/ssh_config}} في جهاز العميل :<br />
<div align=left dir=ltr><br />
ServerAliveInterval 120<br />
</div><br />
<br />
السطر السابق يقوم بإرسال إشارة "keep alive" كل 120 ثانية.<br />
<br />
وبشكل آخر يمكن إبقاء الإتصالات مفتوحة عن طريق تعيين القيمة 120 أو أي رقم آخر أكبر من 0 في ملف {{ic|/etc/ssh/sshd_config}} على الخادم، كالتالي :<br />
<div align=left dir=ltr><br />
ClientAliveInterval 120<br />
</div><br />
<br />
=== حفظ بيانات الإتصال في ملف إعدادات ssh ===<br />
عندما تقوم بالولوج الى خادم ssh، فإنك ستقوم بإدخال اسم المستخدم وعنوان الخادم على الأقل. إذا أردت توقير هذا الوقت; يمكنك استخدام الملف {{ic|$HOME/.ssh/config}} الخاص بك، أو الملف العام {{ic|/etc/ssh/ssh_config}} كما في المثال التالي :<br />
<div align=left dir=ltr><br />
{{hc|$HOME/.ssh/config|<br />
Host myserver<br />
HostName 123.123.123.123<br />
Port 12345<br />
User bob<br />
Host other_server<br />
HostName test.something.org<br />
User alice<br />
CheckHostIP no<br />
Cipher blowfish<br />
}}<br />
</div><br />
الآن يمكنك الإتصال بالخادم عن طريق الأمر التالي :<br />
<div align=left dir=ltr><br />
$ ssh myserver<br />
</div><br />
<br />
للإطلاع على القائمة الكاملة للخيارات التي تستطيع إستخدمها يمكنك الرجوع الى صفحة الدليل الخاصة بـ ssh_config أو مقال[http://www.openbsd.org/cgi-bin/man.cgi?query=ssh_config ssh_config documentation] الموجود في الموقع الرسمي.<br />
<br />
=== إعادة تشغيل جلسات و انفاق ssh تلقائيًا - Autossh ===<br />
عندما يتعذر إبقاء جلسة أو نفق ssh مفتوحًا (على سبيل المثال أوضاع الشبكة سيئة تؤدي الى إنقطاع الإتصال بخادم ssh...)، يمكنك إستخدام الحزمة Autossh لإعادة الإتصال تلقائيًاـ حزمة Autossh يمكن تنصيبها من المستودعات الرسمية.<br />
<br />
أمثلة عن طرق الإستخدام :<br />
<div align=left dir=ltr><br />
$ autossh -M 0 -o "ServerAliveInterval 45" -o "ServerAliveCountMax 2" username@example.com<br />
</div><br />
مدمجة مع خدمة [[ sshfs ]]:<br />
<div align=left dir=ltr><br />
$ sshfs -o reconnect,compression=yes,transform_symlinks,ServerAliveInterval=45,ServerAliveCountMax=2,ssh_command='autossh -M 0' username@example.com: /mnt/example <br />
</div><br />
الإتصال بواسطة وسيط SOCKS :<br />
<div align=left dir=ltr><br />
$ autossh -M 0 "ServerAliveInterval 45" -o "ServerAliveCountMax 2" -NCD 8080 username@example.com <br />
</div><br />
عند إستخدام الخيار -f، Autossh سيتم تشغيله كعملية في الخلفية، تشغيله بهذه الطريقة يعني أنظ لا تستطيع إدخال معلومات الإتصال بشكل تفاعلي.<br />
سيتم إنهاء الجلسة فقط عندما تتم كتابة exit أو عندما تتلقى Autossh إشارة SIGTERM, SIGINT , SIGKILL<br />
<br />
إذا أردت تشغيل autossh تلقائيًا، يُمكنك وبسهولة استخدام systemd، فعلى سبيل المثال يُمكنك إنشاء ملف واحدة خاص بخدمة systemd على الشكل التالي :<br />
<div align=left dir=ltr><br />
[Unit]<br />
Description=AutoSSH service for port 2222<br />
After=network.target<br />
<br />
[Service]<br />
ExecStart=/usr/bin/autossh -M 0 2222:localhost:2222 foo@bar.com<br />
</div><br />
ومن ثم قم بوضعها في ملف -وعلى سبيل المثال- /etc/systemd/system/system/autossh.service، بالطبع يُمكنك إنشاء ملف واحدة أكثر تعقيدًا إذا كان ذلك ضروريًا (يُمكنك الرجوع الى التوثيق الخاص بخدمة systemd لمزيد من التفاصيل)، وبكل تأكيد يُمكنك إستخدام الخيارات الخاصة بك في autossh.<br />
<br />
ومن ثم قم بتفعيل أنفاق autossh كالتالي :<br />
<div align=left dir=ltr><br />
$ systemctl start autossh<br />
</div><br />
(أو حسب ما قمُت بتسمية ملف الواحدة)<br />
<br />
من المُمكن أيضًا التعامل مع عدة عمليات autossh سويًا، وذلك لإبقاء الإتصال مفتوحًا في عدة أنفاق. عليك فقط إنشاء ملفات .service متعددة ذات أسماء مُختلفة.<br />
<br />
== إستكشاف الأخطاء وإصلاحها ==<br />
=== الإتصالات تُرفض أو تنتهي مدتها ===<br />
<br />
==== هل الراوتر لديك يقوم بتمرير المنافذ؟ ====<br />
<br />
قم بتجاوز هذه الخطوة إذا كنت خلف NAT modem/router. (على سبيل المثال VPS أو غيره). أغلب المنازل أو الشركات الصغيرة يكون لديها NAT modem/router.<br />
<br />
أو شيئ يجب التحقق منه هو أن الراوتر لديك يقوم بتمرير إتصالات ssh القادمة الى جهازك المحلي. عنوان IP الخارجي الذي تم إعطاؤه لك من قبل مزود خدمة الإنترنت، وهو نفس العنوان الذي يتم ربطه مع الطلبات الخاجية من قبل الراوتر لديك. لذا يجب على الراوتر أن يعلم أن إتصالات SSH القادمة يجب أن يتم تمريرها الى خدمة sshd في جهازك المحلي.<br />
<br />
قم بمعرفة عنوان ip الخاص بجهازك في الشبكة المحلية :<br />
<div align=left dir=ltr><br />
ip a<br />
</div><br />
قم بالبحث عن الحقل الخاص بقيمة inet. ومن ثم قم بالدخول الى لوحة الإعدادات الخاصة بالراوتر لديك مُستخدمًا عنوان IP الخاص به. قم بإخبار الراوتر لديك بأن يقوم بتمرير الإتصالات الى عنوان inet IP قم بزيارة موقع [http://portforward.com/] لمزيد من المعلومات حول كيفية تمرير المنافذ في الراوتر الخاص بك.<br />
<br />
==== هل خدمة ssh تعمل؟ ====<br />
<div align=left dir=ltr><br />
$ ss -tnlp<br />
</div><br />
إذا لم تُظهر التعليمة السابقة أن منفذ ssh مفتوح فإن خدمة ssh لا تعمل، قم بالتحقق من ملف {{ic|/var/log/messages}} للحصول على الأخطاء.<br />
<br />
==== هل يقوم الجدار الناري الخاص بك بحجب الإتصالات ؟ ====<br />
{{out of date|rc.d is deprecated with systemd}}<br />
Flush your iptables rules to make sure they are not interfering:<br />
<div align=left dir=ltr><br />
# rc.d stop iptables<br />
</div><br />
أو:<br />
<div align=left dir=ltr><br />
# iptables -P INPUT ACCEPT<br />
# iptables -P OUTPUT ACCEPT<br />
# iptables -F INPUT<br />
# iptables -F OUTPUT<br />
</div><br />
==== هل يصل الإتصال أساسًا الى جهازك؟ ====<br />
قم بعمل traffic dump في الجهاز الذي تواجه فيه المشاكل بإستخدام التعليمة التالية:<br />
<div align=left dir=ltr><br />
# tcpdump -lnn -i any port ssh and tcp-syn<br />
</div><br />
سيتم إظهار بعض المعلومات البسيطة، الآن قم بتجربة الإتصال. إذا لم تشاهد أي مخرجات خلال عملية الإتصال, فهذا يعني أن شيئاً ما خارج جهازك يمنع الإتصال (على بسيل المثال : جدار ناري خارجي أو NAT راوتر).<br />
<br />
==== هل يقوم مزود الخدمة الخاص بك أو أي جهة اخرى بحجب المنفذ الإفتراضي ؟ ====<br />
{{Note|قم بتجريب الخطوة التالية فقط إذا كنت '''متأكدًا''' من أنك لا تستخدم أي جدار ناري وقمت بإعداد الراوتر لديك إعدادًا صحيحًا وذلك بتمرير المنفذ الى جهازك المحلي.}}<br />
<br />
في بعض الحالات، يقوم مزود الخدمة الخاص بك بحجب المنفذ الإفتراضي 22 لذا مهما حاولت من طرق فهي لن تُجدي نفعًا.<br />
<br />
إذا واجهتك رسالة شبيهة بالرسالة التالية :<br />
<div align=left dir=ltr><br />
ssh: connect to host www.inet.hr port 22: Connection refused<br />
</div><br />
فهذا لا يعني أن المنفذ قم تم حجبه من قبل مزود الخدمة، بل أن الخادم لا يُشغل خدمة SSH على هذا المنفذ(راجع [http://en.wikipedia.org/wiki/Security_through_obscurity security through obscurity]).<br />
<br />
أما إذا واجهت رسالة كالرسالة التالية :<br />
<div align=left dir=ltr><br />
ssh: connect to host 111.222.333.444 port 22: Operation timed out <br />
</div><br />
هذا يعني أن هنالك شيئ يمنع إتصال TCP على المنفذ 22. إذا كنت متأكدًا تمامًا من الإعداد الصحيح للجدار الناري و/أو الراوتر، فإن ذلك يعني أن المنفذ محجوب من قبل مزود الخدمة.<br />
لزيادة التحقق، قم بتشغيل Wireshark على الخادم وقم بمراقبة المرور على المنفذ 22. بعد إعداده أن لم تحصل على أي مخرجات بينما تحاول الإتصال فهذا يعني ان جهة خارجية تقوم بحجب الإتصال.<br />
<br />
===== التحقق بإستخدام Wireshark =====<br />
قم بتنصيب Wireshark عن طريق الحزمة {{Pkg|wireshark-cli}}، الموجودة في المستودعات الرسمية.<br />
<br />
ومن ثم قم بتشغيلها مُستخدمًا التعليمة التالية:<br />
tshark -f "tcp port 22" -i NET_IF<br />
<br />
حيث NET_IF هو واجهة الشبكة لإتصال WAN. إذا لم تتلقى أي حزم إتصال عندما تحاول الإتصال عن بعد، فيمكنك التاكد تمامًا أن مزود الخدمة لديك يحجب المنفذ 22.<br />
<br />
===== Possible solution =====<br />
The solution is just to use some other port that the ISP isn't blocking. Open the {{ic|/etc/ssh/sshd_config}} and configure the file to use different ports. For example, add:<br />
<br />
Port 22<br />
Port 1234<br />
<br />
Also make sure that other "Port" configuration lines in the file are commented out. Just commenting "Port 22" and putting "Port 1234" won't solve the issue because then sshd will only listen on port 1234. Use both lines to run the SSH server on both ports. <br />
<br />
Restart the server {{ic|systemctl restart sshd.service}} and you're almost done. You still have to configure your client(s) to use the other port instead of the default port. There are numerous solutions to that problem, but let's cover two of them here.<br />
<br />
==== مشكلة Read from socket failed: connection reset by peer ====<br />
الإصدارات التي اطلقت مؤخرًا من openssh تفشل في بعض الأحيان مخرجةً رسالة خطأ كالرسالة السابقة بسبب وجود علّة في خاصية التشفير فيها. في هذه الحالة قم بإضافة السطر التالي الى ملف {{ic|~/.ssh/config}}:<br />
<br />
HostKeyAlgorithms ssh-rsa-cert-v01@openssh.com,ssh-dss-cert-v01@openssh.com,ssh-rsa-cert-v00@openssh.com,ssh-dss-cert-v00@openssh.com,ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,ssh-rsa,ssh-dss<br />
<br />
في إصدار openssh 5.9 السطر السابق لا يقوم بحل المشكلة. لذا قم بوضع السطور التالية في ملف {{ic|~/.ssh/config}}:<br />
<br />
Ciphers aes128-ctr,aes192-ctr,aes256-ctr,aes128-cbc,3des-cbc <br />
MACs hmac-md5,hmac-sha1,hmac-ripemd160<br />
<br />
راجع أيضًا [http://www.gossamer-threads.com/lists/openssh/dev/51339 discussion] في مركز علل openssh<br />
<br />
=== "[الصدفة التي تستخدمها]: No such file or directory" ===<br />
مسبب من مسببات هذه المشكلة هو أن بعض عملاء SSH يحتاجون الى معرفة المسار المطلق عن طريق الأمر {{Ic|whereis -b [your shell]}}، وحتى لوكان الملف التنفيئي للصدفة موجود في {{Ic|$PATH}}. سبب آخر هو أن المستخدم ليس عضوًا في مجموعة ''network''.<br />
<br />
===ظهور رسالة الخطأ "Terminal unknown" أو "Error opening terminal"===<br />
من الممكن عند إستخدام ssh الحصول على أخطاء من من قبيل "Terminal unknown" عندما تحاول تسجيل الدخول. بدء بعض التطبيقات كتطبيق nano يفشل مُظهرًا الرسالة "Error opening terminal". يوجد طريقتين لحل المشاكل من هذا النوع، الطريقة السلهة هي إستخدام المُتغير $TERM، أو باستخدام ملف terminfo.<br />
<br />
====الحل بواسطة المتغير $TERM====<br />
بعد الإتصال الى الخادم، قم بتحديد قيمة المتغير $TERM الى "xterm" مُستخدمًا التعليمة التالية :<br />
<div align=left dir=ltr><br />
{{ic|TERM&#61;xterm}}<br />
</div><br />
هذا الحل يحوي على بعض المشاكل الجانبية. ويتوجب عليك أيضًا أن تقوم بتكرار هذه التعليمة كل مرة تقوم فيها بتسجيل الدخول الى الخادم. أو بشكل بديل يمكنك وضعها في ملف ~.bashrc .<br />
====الحل بإستخدام ملف terminfo====<br />
حل آخر هو نقل ملف terminfo من جهازك المحلي الى الخادم. في هذا المثال سنقوم بشرح كيفية تهيئة ملف terminfo من أجل طرفية من نوع "rxvt-unicode-256color".<br />
قم بإنشاء مجلد يحوي على ملفات terminfo في خادم ssh، عندما تقوم بتسجيل الدخول الى الخادم قم بإستخدام هذه التعليمة :<br />
<div align=left dir=ltr><br />
<br />
{{ic| mkdir -p ~/.terminfo/r/}}<br />
<br />
</div><br />
<br />
الآن قم بنسخ ملف terminfo الخاص بالطرفيتك الى المجلد الجديد. مُستبدلًا ''"rxvt-unicode-256color"'' بالطرفية الخاصة بك في التعليمة التالية و ''ssh-server'' بإسم المستخدم وعنوان الخادم الخاصين بك<br />
<br />
<div align=left dir=ltr><br />
{{ic|$ scp /usr/share/terminfo/r/''rxvt-unicode-256color'' ssh-server:~/.terminfo/r/}}<br />
<br />
</div><br />
بعدما تقوم بتسجيل الخروج ومن ثم تسجيل الدخول مُجددًا، تكون المشكلة قد حُلّت.<br />
<br />
== شاهد أيضًا ==<br />
*[[SSH Keys]]<br />
*[[Pam abl]]<br />
*[[fail2ban]]<br />
*[[sshguard]]<br />
*[[Sshfs]]<br />
*[[Syslog-ng]] : لإرسال log الخاص بـ ssh الى ملف<br />
<br />
== Links & references ==<br />
*[http://www.soloport.com/iptables.html A Cure for the Common SSH Login Attack]<br />
*[http://www.la-samhna.de/library/brutessh.html Defending against brute force ssh attacks]<br />
*[http://www.ibm.com/developerworks/library/l-keyc/index.html OpenSSH key management, Part 1] and [http://www.ibm.com/developerworks/library/l-keyc2 Part 2] on IBM developerWorks<br />
</div></div>Abd allatifhttps://wiki.archlinux.org/index.php?title=Secure_Shell_(%D8%A7%D9%84%D8%B9%D8%B1%D8%A8%D9%8A%D8%A9)&diff=262275Secure Shell (العربية)2013-06-11T06:47:24Z<p>Abd allatif: </p>
<hr />
<div>[[Category:Secure Shell (العربية)]]<br />
[[Category:العربية]]<br />
[[Category:Networking (العربية)]]<br />
[[es:Secure Shell]]<br />
[[de:SSH]]<br />
[[fr:ssh]]<br />
[[it:Secure Shell]]<br />
[[ko:Secure Shell]]<br />
[[pl:Secure Shell]]<br />
[[pt:Secure Shell]]<br />
[[ru:Secure Shell]]<br />
[[sr:Secure Shell]]<br />
[[zh-CN:Secure Shell]]<br />
<div align=right dir=rtl><br />
'''الصدفة الآمنة''' ('''SSH''') هي بروتوكول من بروتوكولات الشبكة التي تسمح بتبادل البيانات عبر محطة آمنة بين حاسبين مختلفين, التشفير يضمن سرية المعلومات. إن ssh يستخدم التعمية يالمفتاح العمومي لكي يتم الإستيثاق بالحاسب الذي يقوم بإجراء الإتصال وللسماح بالإستيثاق من المستخدم إذا كان ذلك ضروريًا.<br />
<br />
بشكل عام تُستخدم ssh للولوج الى حاسب عن بعد و تنفيذ, لكنها أيضًا تدعم إنشاء لأنفاق الآمنة بالإضافة الى تمرير المنافذ و إتصالات X11 ونقل الملفات يمكن أن يتم يإستخدام بروتوكول sftp أو بروتوكول scp.<br />
<br />
إن خادم ssh بشكل إفتراضي يقوم بإستقبال الإتصالات عبر المنفذ الإفتراضي 22 tcp, عميل ssh هو عبارة عن برنامج يُستخدم لإنشاء إتصال الى خدمة ssh في حال تم إعداده لقبول الإتصالات. كلاهما يتوفر بشكل كبير في الأنظمة الشهيرة كنظام Mac OS X, GNU/Linux, Solaris و OpenVMS. برامج مملوكة و مفتوحة المصدر بمختلف الإصدارات ومختلف مراحل التعقيد و الكمالية متوفرة في الوقت الراهن.<br />
<br />
(Source: [[Wikipedia:Secure Shell]])<br />
<br />
== OpenSSH ==<br />
إن openssh (OpenBSD Secure Shell) هو مجموعة من برامج الحاسب التي توفر وسيلة تواصل مشفرة بين شبكة من الحواسيب بإستخدام بروتوكول ssh, تم تطويرها لتُشكل بديلاً عن برمجيات الصدفة الآمنة المملوكة التي تم تطويرها بواسطة SSH Communications Security. إن openSSH تم تطويرها كجزء من مشروع OpenBSD الذي كان بقيادة Theo de Raadt.<br />
<br />
عادةً ما يتم الخلط بين openSSH و بين OpenSSL, كلا المشروعين لديه هدفه الخاص ولا علاقة له بالمشروع الآخر, لكن تشابه الأسماء يشير فقط الى التشابه في الهدف الذي هو توفير بدلا مفتوح المصدر عن البرمجيات المملوكة.<br />
<br />
=== Installing OpenSSH ===<br />
قم بتنصيب حزمة OpenSSH من المستودعات الرسمية<br />
=== تهيئة إعدادات ssh ===<br />
====العميل====<br />
إن ملفي الإعدادات الخاصين بعميل ssh هما {{ic|/etc/ssh/ssh_config}} أو {{ic|~/.ssh/config}}.<br />
<br />
مثال عن ملف الإعدادت :<br />
<div align=left dir=ltr><br />
{{hc|/etc/ssh/ssh_config|<br />
# $OpenBSD: ssh_config,v 1.26 2010/01/11 01:39:46 dtucker Exp $<br />
<br />
# This is the ssh client system-wide configuration file. See<br />
# ssh_config(5) for more information. This file provides defaults for<br />
# users, and the values can be changed in per-user configuration files<br />
# or on the command line.<br />
<br />
# Configuration data is parsed as follows:<br />
# 1. command line options<br />
# 2. user-specific file<br />
# 3. system-wide file<br />
# Any configuration value is only changed the first time it is set.<br />
# Thus, host-specific definitions should be at the beginning of the<br />
# configuration file, and defaults at the end.<br />
<br />
# Site-wide defaults for some commonly used options. For a comprehensive<br />
# list of available options, their meanings and defaults, please see the<br />
# ssh_config(5) man page.<br />
<br />
# Host *<br />
# ForwardAgent no<br />
# ForwardX11 no<br />
# RhostsRSAAuthentication no<br />
# RSAAuthentication yes<br />
# PasswordAuthentication yes<br />
# HostbasedAuthentication no<br />
# GSSAPIAuthentication no<br />
# GSSAPIDelegateCredentials no<br />
# BatchMode no<br />
# CheckHostIP yes<br />
# AddressFamily any<br />
# ConnectTimeout 0<br />
# StrictHostKeyChecking ask<br />
# IdentityFile ~/.ssh/identity<br />
# IdentityFile ~/.ssh/id_rsa<br />
# IdentityFile ~/.ssh/id_dsa<br />
# Port 22<br />
# Protocol 2,1<br />
# Cipher 3des<br />
# Ciphers aes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,aes128-cbc,3des-cbc<br />
# MACs hmac-md5,hmac-sha1,umac-64@openssh.com,hmac-ripemd160<br />
# EscapeChar ~<br />
# Tunnel no<br />
# TunnelDevice any:any<br />
# PermitLocalCommand no<br />
# VisualHostKey no<br />
# ProxyCommand ssh -q -W %h:%p gateway.example.com<br />
}}<br />
</div><br />
من المُفضل تغيير السطر الخاص بنوع البروتوكول الى السطر التالي :<br />
Protocol 2<br />
<br />
هذا يعني أن البروتوكول 2 سيتم إستخدامه فقط، لأن البروتوكول 1 يتم إعتباره غير آمنة بالمقارنة من البروتوكول 2.<br />
<br />
====خدمة ssh====<br />
يمكن الحصول وتعديل على إعدادات خدمة ssh في الملف {{ic|/etc/ssh/ssh'''d'''_config}}.<br />
<br />
مثال عن ملف الإعدادات :<br />
<div align=left dir=ltr><br />
{{hc|/etc/ssh/sshd_config|2=<br />
# $OpenBSD: sshd_config,v 1.82 2010/09/06 17:10:19 naddy Exp $<br />
<br />
# This is the sshd server system-wide configuration file. See<br />
# sshd_config(5) for more information.<br />
<br />
# This sshd was compiled with PATH=/usr/bin:/bin:/usr/sbin:/sbin<br />
<br />
# The strategy used for options in the default sshd_config shipped with<br />
# OpenSSH is to specify options with their default value where<br />
# possible, but leave them commented. Uncommented options change a<br />
# default value.<br />
<br />
#Port 22<br />
#AddressFamily any<br />
#ListenAddress 0.0.0.0<br />
#ListenAddress ::<br />
<br />
# The default requires explicit activation of protocol 1<br />
#Protocol 2<br />
<br />
# HostKey for protocol version 1<br />
#HostKey /etc/ssh/ssh_host_key<br />
# HostKeys for protocol version 2<br />
#HostKey /etc/ssh/ssh_host_rsa_key<br />
#HostKey /etc/ssh/ssh_host_dsa_key<br />
#HostKey /etc/ssh/ssh_host_ecdsa_key<br />
<br />
# Lifetime and size of ephemeral version 1 server key<br />
#KeyRegenerationInterval 1h<br />
#ServerKeyBits 1024<br />
<br />
# Logging<br />
# obsoletes QuietMode and FascistLogging<br />
#SyslogFacility AUTH<br />
#LogLevel INFO<br />
<br />
# Authentication:<br />
<br />
#LoginGraceTime 2m<br />
#PermitRootLogin yes<br />
#StrictModes yes<br />
#MaxAuthTries 6<br />
#MaxSessions 10<br />
<br />
#RSAAuthentication yes<br />
#PubkeyAuthentication yes<br />
#AuthorizedKeysFile .ssh/authorized_keys<br />
<br />
# For this to work you will also need host keys in /etc/ssh/ssh_known_hosts<br />
#RhostsRSAAuthentication no<br />
# similar for protocol version 2<br />
#HostbasedAuthentication no<br />
# Change to yes if you do not trust ~/.ssh/known_hosts for<br />
# RhostsRSAAuthentication and HostbasedAuthentication<br />
#IgnoreUserKnownHosts no<br />
# Don't read the user's ~/.rhosts and ~/.shosts files<br />
#IgnoreRhosts yes<br />
<br />
# To disable tunneled clear text passwords, change to no here!<br />
#PasswordAuthentication yes<br />
#PermitEmptyPasswords no<br />
<br />
# Change to no to disable s/key passwords<br />
ChallengeResponseAuthentication no<br />
<br />
# Kerberos options<br />
#KerberosAuthentication no<br />
#KerberosOrLocalPasswd yes<br />
#KerberosTicketCleanup yes<br />
#KerberosGetAFSToken no<br />
<br />
# GSSAPI options<br />
#GSSAPIAuthentication no<br />
#GSSAPICleanupCredentials yes<br />
<br />
# Set this to 'yes' to enable PAM authentication, account processing, <br />
# and session processing. If this is enabled, PAM authentication will <br />
# be allowed through the ChallengeResponseAuthentication and<br />
# PasswordAuthentication. Depending on your PAM configuration,<br />
# PAM authentication via ChallengeResponseAuthentication may bypass<br />
# the setting of "PermitRootLogin without-password".<br />
# If you just want the PAM account and session checks to run without<br />
# PAM authentication, then enable this but set PasswordAuthentication<br />
# and ChallengeResponseAuthentication to 'no'.<br />
UsePAM yes<br />
<br />
#AllowAgentForwarding yes<br />
#AllowTcpForwarding yes<br />
#GatewayPorts no<br />
#X11Forwarding no<br />
#X11DisplayOffset 10<br />
#X11UseLocalhost yes<br />
#PrintMotd yes<br />
#PrintLastLog yes<br />
#TCPKeepAlive yes<br />
#UseLogin no<br />
#UsePrivilegeSeparation yes<br />
#PermitUserEnvironment no<br />
#Compression delayed<br />
#ClientAliveInterval 0<br />
#ClientAliveCountMax 3<br />
#UseDNS yes<br />
#PidFile /var/run/sshd.pid<br />
#MaxStartups 10<br />
#PermitTunnel no<br />
#ChrootDirectory none<br />
<br />
# no default banner path<br />
#Banner none<br />
<br />
# override default of no subsystems<br />
Subsystem sftp /usr/lib/ssh/sftp-server<br />
<br />
# Example of overriding settings on a per-user basis<br />
#Match User anoncvs<br />
# X11Forwarding no<br />
# AllowTcpForwarding no<br />
# ForceCommand cvs server<br />
}}<br />
</div><br />
لكي يتم السماح بالولوج فقط لمُستخدمين مُحددين، قم بإضافة السطر التالي الى ملف الإعدادت :<br />
<div align=left dir=ltr><br />
AllowUsers user1 user2<br />
</div><br />
<br />
ولإلغاء تفعيل دخول المستخدم الجذر root مباشرةً عبر خدمة ssh، قم بتعديل قمية الخاصية PermitRootLogin الى التالي :<br />
<div align=left dir=ltr><br />
PermitRootLogin no<br />
</div><br />
<br />
ولكي تُضيف رسالة ترحيب، قم بتعديل ملف {{ic|/etc/issue}} ومن ثم قم بتعديل السطر الخاص بالقيمة Banner الى التالي :<br />
<div align=left dir=ltr><br />
Banner /etc/issue<br />
</div><br />
<br />
{{تلميح : لربما تريد تغيير المنفذ الإفتراضي من 22 الى رقم منفذ أعلى منه (يُمكنك الرجوع الى المقال security through obscurity) (راجع [http://en.wikipedia.org/wiki/Security_through_obscurity security through obscurity]).}} <br />
<br />
وعلى الرغم من أن منفذ ssh يُمكن الكشف عنه بسهولةبإحدى أدوات المسح الخاصة بالشبكات nmap، لكن تغييره سيُفيد بتقليل عدد محاولات الدخول المؤتمتة، للمساعدة في إختيار رقم منفذ مناسب قم بمراجعة المقال التالي [[Wikipedia:List of TCP and UDP port numbers|list of TCP and UDP port numbers]].<br />
<br />
{{Tip|إلغاء تفعيل الدخول عن طريق كلمات المرور ستُزيد بشكل كبير من الأمان راجع مقال [[SSH Keys]] لمزيد من المعلومات.}}<br />
<br />
=== إدارة خدمة ssh ===<br />
يمكن بدء خدمة ssh بإستخدام التعلمية التالية :<br />
<div align=left dir=ltr><br />
# systemctl start sshd<br />
</div><br />
<br />
ويمكن تفعيل تشغيل خدمة ssh عند بدء تشغيل النظام بواسطة التعليمة التالية : # systemctl enable sshd.service<br />
<br />
{{تحذير|إن Systemd هو غير متزامن في بدء العمليات، لذا فإذا قُمت بتحديد خدمة ssh الى عنوان ip مُحدد ListenAddress 192.168.1.100، فيمكن أن تفشل في البدء أثناء الإقلاع، يُمكن حل هذه المشكلة بإضافة After&#61;network.target الى ملف الواحدة المُخصص، قم بمراجعة [[Systemd#Replacing provided unit files]].}}<br />
<br />
أو أن تقوم ببدء تشغيل خدمة ssh عند أول إتصال تتلقاه :<br />
# systemctl enable sshd.socket<br />
إذا كنت تستخدم منفذ غير منفذ 22 الإفتراضي، عليك وضع القيمة "ListenStream" في ملف الوحدة<br />
في ملف /etc/systemd/system/sshd.socket قم بتغيير القيمة "ListenStream" الى المنفذ المناسب.<br />
<br />
=== الإتصال بالخادم ===<br />
لكي تقوم بالإتصال بالخادم قم بتنفيذ التعليمة التالية :<br />
<div align=left dir=ltr><br />
$ ssh -p port user@server-address<br />
</div><br />
<br />
== عملاء و خوادم ssh الاخرى ==<br />
بعيدًا عن OpenSSH؛ يوجد هناك العديد من عملاء و خوادم ssh متاحة للإستخدام [[Wikipedia:Comparison of SSH clients|clients]] و [[Wikipedia:Comparison of SSH servers|servers]].<br />
<br />
=== Dropbear ===<br />
[[Wikipedia:Dropbear (software)|Dropbear]] هو خادم وعميل ssh-2. حزمة {{AUR|dropbear}} متوفرة في [[AUR]].<br />
<br />
إن عميل ssh الخاص بموجه الأوامر يُسمى dbclient.<br />
<br />
=== Mosh بديل SSH ===<br />
الجملة التالية مقتبسة من موقع [http://mosh.mit.edu/ mosh]:<br />
تطبيق يسمح بالإتصال عبر طرفية بعيدة, يدعم الإتصالات المتقطعة, ويقدم طريقة ذكية للتعديل السطري لكتابات المستخدم. Mosh هو بديل لخدمة ssh. هو أكثر قوة وإستجابة وخصوصًا عبر شبكات Wi-Fi, cellular و الشبكات بعيدة المدى.<br />
<br />
يمكنك تنصيب {{Pkg|mosh}} من المستودعات الرسمية، أو آخر نسخة {{AUR|mosh-git}} من [[AUR]].<br />
<br />
== تلمحيات ==<br />
<br />
=== Encrypted SOCKS tunnel ===<br />
هذه التلميحة مُفيدة جدًا لمستخدمي الحواسيب المُحمولة الذين يتصلون بشبكات WiFi غير آمنة. الشيء الوحيد الذي ستحتاج إليه هو خادم ssh يعمل في مكان آمن (العمل أو المنزل). من المفيد إستخدام خدمة DNS ديناميكية :[http://www.dyndns.org/ DynDNS] كمثال، لذا فلن تحتاج الى تذكر عنوان IP الخاص بك.<br />
<br />
==== الخطوة الولى : قم ببدء الإتصال ====<br />
عليك فقط تنفيذ التعليمة التالية لكي تقوم ببدء الإتصال بخادم ssh : $ ssh -TND 4711 user@host<br />
حيث {{Ic|"user"}} هو اسم المستخدم الخاص بك على الخادم {{Ic|"host"}}، سوف يتم سؤالك عن كلمة المرور الخاصة بك. بعد ذلك تكون قد قمت بالإتصال بنجاح. الراية {{Ic|"N"}} fتقوم بإلغاء تفعيل موجه الأوامر التفاعلي بينما الراية D تقوم بتحديد منفذ محلي يمكنك الإتصال منه (تستطيع إختيار أي رقم تريده). الراية {{Ic|"T"}} تقوم بإلغاء تفعيل حصة pseudo-tty.<br />
<br />
من المفيد استخدام الراية {{Ic|"-v"}} لأنها تسمح لك من التأكد من أن عملية الإتصال تمت بنجاح من المخرجات.<br />
<br />
==== الخطوة الثانية : إعداد المتصفح (أو بقية البرامج) ====<br />
الخطوة السابقة عديمة الجدوى تمامًا إن لم تقترن بالإعداد الصحيح لمتصفح الويب -أو أي برنامج آخر- لإستخدام انبوب socks الذي قمنا بإنشاءه.<br />
وبما أن النسخة الحالية من ssh تدعم SOCKS4 و SOCKS5 فيمكنك إستخدام أي منهما.<br />
<br />
لإعداد متصفح firefox : في البداية قم بالدخول الى Edit → Preferences → Advanced → Network → Connection → Setting :<br />
قم بتحديد الخيار "Manual proxy configuration" وقم بإدخال القيمة "localhost" في مربع النص المُعنون "SOCKS host" ومن ثم قم بإدخال رقم المنفذ الذي قمت بتحديده في الخطوة السابقة (تم إستخدام 4711)<br />
<br />
متصفح firefox لا يقوم بشكل تلقائي بعمل طلبات DNS عبر انبوب socks، هذا الأمر قد يُعرض خصوصيتك للخر لذا قم بعمل الخطوات التالية :<br />
<br />
- قم بطلب الصفحة about:config في شريط العنوان الخاص بمتصفح firefox<br />
- ابحث عن الراية network.proxy.socks_remote_dns<br />
- قم بتحديد true كقيمة لهذه الراية<br />
- قم بإعادة تشغيل المتصفح<br />
<br />
وأما مُتصفح Chromium فيمكنك تحديد إعدادات socks كمتغيرات خاصة بالبيئة أو بإستخدامها كوسيط في سطر الأوامر، أنا أفضل إضافة إحدى الدالتين الى ملف {{ic|.bashrc}} الخاص بك :<br />
<div align=left dir=ltr><br />
function secure_chromium {<br />
port=4711<br />
export SOCKS_SERVER=localhost:$port<br />
export SOCKS_VERSION=5<br />
chromium &<br />
exit<br />
}<br />
</div><br />
أو<br />
<div align=left dir=ltr><br />
function secure_chromium {<br />
port=4711<br />
chromium --proxy-server="socks://localhost:$port" &<br />
exit<br />
}<br />
</div><br />
<br />
الآن قم بفتح نافذة الطرفية و نفذ الأمر التالي :<br />
<div align=left dir=ltr><br />
$ secure_chromium<br />
</div><br />
<br />
=== تمرير X11 ===<br />
إذا أردت تشغيل برمجيات رسومية عبرإتصال ssh، يتوجب عليك تفعيل خيار تمرير X11 في ملفات الإعدادات في الخادم و العميل (هنا "العميل" هو الجهاز الذي يعمل عليه خادم X11 و يقوم بالإتصال بخدمات X11 من جهاز "الخادم").<br />
<br />
قم بتنصيب الحزمة {{Pkg|xorg-xauth}} من المستودعات الرسمية الى الخادم<br />
<br />
قم بتفعيل الخيار AllowTcpForwarding في ملف {{ic|ssh'''d'''_config}} على الخادم<br />
قم بتفعيل الخيار X11Forwarding في ملف {{ic|ssh'''d'''_config}} على الخادم<br />
قم بتحديد قيمة الخيار X11DisplayOffset في ملف {{ic|ssh'''d'''_config}} على الخادم الى الرقم 10<br />
قم بتفعيل الخيار X11UseLocalhost في ملف {{ic|ssh'''d'''_config}} على الخادم<br />
يتوجب عليك أيضًا :<br />
تفعيل الخيار X11UseLocalhost في ملف {{ic|ssh_config}} على العميل<br />
قم بتفعيل الخيار ForwardX11Trusted إذا وجدت مشاكل في الواجهة الرسومية<br />
<br />
بالطبع يتوجب عليك إعادة تشغيل خدمة ssh في الخادم لكي يتم تطبيق الإعدادت السابقة .<br />
<br />
عندما تقوم بإتسخدام تمرير X11 قم بتنفيذ الأمر التالي في الطرفية <br />
<div align=left dir=ltr><br />
$ ssh -X -p port user@server-address<br />
</div><br />
إذا واجهت مشكل في تشغيل البرمجيات الرسومية قم بعمل تمرير موثوق مستخدمًا الأمر التالي :<br />
<div align=left dir=ltr><br />
$ ssh -Y -p port user@server-address<br />
</div><br />
الآن عندما تقوم بتشغيل البرمجيات الرسومية على الخادم، فسيتم تمرير المخرجات الى جهازك المحلي.<br />
<div align=left dir=ltr><br />
$ xclock<br />
</div><br />
<br />
إذا واجهت أخطاء من قبيل "Cannot open display"، قم بتطبيق التعليمة التالية كمستخدم غير مدير للنظام :<br />
<div align=left dir=ltr><br />
$ xhost +<br />
</div><br />
<br />
التعليمة السابقة تقوم بالسماح بتمرير تطبيقات X11 للجميع، إذا أردت حصر ذلك بجهاز معين قم بإستخدام التعليمة التالية :<br />
<div align=left dir=ltr><br />
$ xhost +hostname<br />
</div><br />
<br />
حيث hostname هو اسم الجهاز الذي تريد تمرير إتصالات X11 له. يمكنك الرجوع الى "man xhost" لمزيد من المعلومات عن إستخدام هذا التعليمة.<br />
<br />
كن حذرًا مع بعض البرامج التي تتحقق من بيئة العمل المُستخدمة على الجهاز المحلي، مثال عليها برنامج firefox. فيمكنك إغلاق برنامج firefox أو عن طريق تشغيل firefox مفعلًا الخيار -no-remote :<br />
<div align=left dir=ltr><br />
$ firefox -no-remote<br />
</div><br />
إذا ظهرت لك رسالة الخطأ التالية "X11 forwarding request failed on channel 0" فقم بإحدى الخطوتين التاليتين :<br />
* قم بتفعيل خيار'''AddressFamily any''' في ملف {{ic|ssh'''d'''_config}} على الخادم.<br />
* قم بتحديد قيمة الخيار '''AddressFamily''' في ملف {{ic|ssh'''d'''_config}} على الخادم الى inet.<br />
تحديد القيمة inet للخيار AddressFamily يحّل المشاكل مع عملاء ubuntu الذين يستخدمون IPv4.<br />
<br />
=== تمرير المنافذ الاخرى ===<br />
بالإضافة الى خاصية تمرير X11 المدمجة مع ssh، يمكنك إنشاء نفق آمن لأي من إتصالات TCP، وذلك بإستخدام تمرير محلي أو عن بُعد.<br />
التمرير المحلي يقوم بفتح منفذ في الجهاز المحلي، الإتصالات سيتم تمريرها الى الخادم البعيد ومن ثم من هناك ستصل الى وجهتها.<br />
Very often, the forwarding destination will be the same as the remote host, thus providing a secure shell and, e.g. a secure VNC connection, to the same machine. Local forwarding is accomplished by means of the {{Ic|-L}} switch and it's accompanying forwarding specification in the form of {{Ic|<tunnel port>:<destination address>:<destination port>}}.<br />
<br />
Thus:<br />
<br />
$ ssh -L 1000:mail.google.com:25 192.168.0.100<br />
<br />
will use SSH to login to and open a shell on 192.168.0.100, and will also create a tunnel from the local machine's TCP port 1000 to mail.google.com on port 25. Once established, connections to localhost:1000 will connect to the Gmail SMTP port. To Google, it will appear that any such connection (though not necessarily the data conveyed over the connection) originated from 192.168.0.100, and such data will be secure as between the local machine and 192.168.0.100, but not between 192.168.0.100, unless other measures are taken.<br />
<br />
Similarly:<br />
<br />
$ ssh -L 2000:192.168.0.100:6001 192.168.0.100<br />
<br />
will allow connections to localhost:2000 which will be transparently sent to the remote host on port 6001. The preceding example is useful for VNC connections using the vncserver utility--part of the tightvnc package--which, though very useful, is explicit about its lack of security.<br />
<br />
Remote forwarding allows the remote host to connect to an arbitrary host via the SSH tunnel and the local machine, providing a functional reversal of local forwarding, and is useful for situations where, e.g., the remote host has limited connectivity due to firewalling. It is enabled with the {{Ic|-R}} switch and a forwarding specification in the form of {{Ic|<tunnel port>:<destination address>:<destination port>}}.<br />
<br />
Thus:<br />
<br />
$ ssh -R 3000:irc.freenode.net:6667 192.168.0.200<br />
<br />
will bring up a shell on 192.168.0.200, and connections from 192.168.0.200 to itself on port 3000 (remotely speaking, localhost:3000) will be sent over the tunnel to the local machine and then on to irc.freenode.net on port 6667, thus, in this example, allowing the use of IRC programs on the remote host to be used, even if port 6667 would normally be blocked to it.<br />
<br />
Both local and remote forwarding can be used to provide a secure "gateway," allowing other computers to take advantage of an SSH tunnel, without actually running SSH or the SSH daemon by providing a bind-address for the start of the tunnel as part of the forwarding specification, e.g. {{Ic|<tunnel address>:<tunnel port>:<destination address>:<destination port>}}. The {{Ic|<tunnel address>}} can be any address on the machine at the start of the tunnel, {{Ic|localhost}}, {{Ic|*}} (or blank), which, respectively, allow connections via the given address, via the loopback interface, or via any interface. By default, forwarding is limited to connections from the machine at the "beginning" of the tunnel, i.e. the {{Ic|<tunnel address>}} is set to {{Ic|localhost}}. Local forwarding requires no additional configuration, however remote forwarding is limited by the remote server's SSH daemon configuration. See the {{Ic|GatewayPorts}} option in {{Ic|sshd_config(5)}} for more information.<br />
<br />
=== تسريع ssh ===<br />
يُمكنك جعل جميع الجلسات الى الخادم نفسه تستخدم إتصالًا واحدًا، هذا يؤدي الى تسريع عملية الولوج، وذلك بإضافة السطور التالية تحت اسم المُضيف المُناسب في ملف {{ic|/etc/ssh/ssh_config}} :<br />
<div align=left dir=ltr><br />
ControlMaster auto<br />
ControlPath ~/.ssh/socket-%r@%h:%p<br />
</div><br />
<br />
تغيير خوارزمية التشفير المُستخدمة من قبل ssh تُساعد بشكل كبير على تحسين السرعة. في هذا المجال أفصل الخيارات هي arcfour و blowfish-cbc، رجاءً لا تقم بتغييرها إلا إذا كنت تعلم ما تفعله، لخوارزمية arcfour عدد من الجوانب الضعيفة. لإستخدمهم قم بتنفيذ التعليمة التالية :<br />
<br />
$ ssh -c arcfour,blowfish-cbc user@server-address<br />
لإستخدامها بشكل دائم، ضع هذا السطر تحت اسم المضيف المناسب في ملف {{ic|/etc/ssh/ssh_config}}:<br />
Ciphers arcfour,blowfish-cbc<br />
خيار آخر لكي تُحسن من سرعة SSH هو تفعيل خيار الضغط بإستخدام راية {{Ic|"C"}}. ولتفعيل هذه الميزة دومًا قم بإضافة السطر التالي تحت اسم المُضيف المُناسب في ملف {{ic|/etc/ssh/ssh_config}}:<br />
Compression yes<br />
الوقت الآزم لتسجيل الدخول يُمكن أن يُقلل بإستخدام الراية {{Ic|"4"}}، التي تقوم بتجاوز البحث ببروتوكول IPv6. يُمكن تفعيل هذه الميزة بشكل دائم عن طريق إضافة السطر التالي تحت اسم المُضيف المناسب في ملف {{ic|/etc/ssh/ssh_config}}:<br />
AddressFamily inet<br />
طريقة اخرى لتفعيل هذه الخيارات بشكل دائم هي إنشاء مكافئ في ملف {{ic|~/.bashrc}}:<br />
alias ssh='ssh -C4c arcfour,blowfish-cbc'<br />
<br />
=== وصل نظام ملفات خاص بحاسب بعيد عن طريق sshfs ===<br />
يرجى الرجوع الى مقال [[Sshfs]] لمعرفة المزيد حول وصل نظام الملفات خاص بحاسب بعيد -قابل للوصول عبر ssh- الى مجلد محلي. يمكنك القيام بأي تعليمة وبأي أداة على الملفات الموصولة (نسخ، إعداة تسمية، تعديل بمُحرر vim...الخ). استخدم sshfs عوضًا عن shfs (لم يتم إصدار نسخة جديدة منه منذ 2004 !).<br />
<br />
=== إبقاء الإتصال مفتوحًا ===<br />
جلسة ssh الخاصة بك سوف تقوم بتسجيل الخروج عندما لا يتم إستخدمها، لإبقاء الإتصال مفتوحًا قم بإضافة السطر التالي لأحد الملفين {{ic|~/.ssh/config}} أو {{ic|/etc/ssh/ssh_config}} في جهاز العميل :<br />
<div align=left dir=ltr><br />
ServerAliveInterval 120<br />
</div><br />
<br />
السطر السابق يقوم بإرسال إشارة "keep alive" كل 120 ثانية.<br />
<br />
وبشكل آخر يمكن إبقاء الإتصالات مفتوحة عن طريق تعيين القيمة 120 أو أي رقم آخر أكبر من 0 في ملف {{ic|/etc/ssh/sshd_config}} على الخادم، كالتالي :<br />
<div align=left dir=ltr><br />
ClientAliveInterval 120<br />
</div><br />
<br />
=== حفظ بيانات الإتصال في ملف إعدادات ssh ===<br />
عندما تقوم بالولوج الى خادم ssh، فإنك ستقوم بإدخال اسم المستخدم وعنوان الخادم على الأقل. إذا أردت توقير هذا الوقت; يمكنك استخدام الملف {{ic|$HOME/.ssh/config}} الخاص بك، أو الملف العام {{ic|/etc/ssh/ssh_config}} كما في المثال التالي :<br />
<div align=left dir=ltr><br />
{{hc|$HOME/.ssh/config|<br />
Host myserver<br />
HostName 123.123.123.123<br />
Port 12345<br />
User bob<br />
Host other_server<br />
HostName test.something.org<br />
User alice<br />
CheckHostIP no<br />
Cipher blowfish<br />
}}<br />
</div><br />
الآن يمكنك الإتصال بالخادم عن طريق الأمر التالي :<br />
<div align=left dir=ltr><br />
$ ssh myserver<br />
</div><br />
<br />
للإطلاع على القائمة الكاملة للخيارات التي تستطيع إستخدمها يمكنك الرجوع الى صفحة الدليل الخاصة بـ ssh_config أو مقال[http://www.openbsd.org/cgi-bin/man.cgi?query=ssh_config ssh_config documentation] الموجود في الموقع الرسمي.<br />
<br />
=== إعادة تشغيل جلسات و انفاق ssh تلقائيًا - Autossh ===<br />
عندما يتعذر إبقاء جلسة أو نفق ssh مفتوحًا (على سبيل المثال أوضاع الشبكة سيئة تؤدي الى إنقطاع الإتصال بخادم ssh...)، يمكنك إستخدام الحزمة Autossh لإعادة الإتصال تلقائيًاـ حزمة Autossh يمكن تنصيبها من المستودعات الرسمية.<br />
<br />
أمثلة عن طرق الإستخدام :<br />
<div align=left dir=ltr><br />
$ autossh -M 0 -o "ServerAliveInterval 45" -o "ServerAliveCountMax 2" username@example.com<br />
</div><br />
مدمجة مع خدمة [[ sshfs ]]:<br />
<div align=left dir=ltr><br />
$ sshfs -o reconnect,compression=yes,transform_symlinks,ServerAliveInterval=45,ServerAliveCountMax=2,ssh_command='autossh -M 0' username@example.com: /mnt/example <br />
</div><br />
الإتصال بواسطة وسيط SOCKS :<br />
<div align=left dir=ltr><br />
$ autossh -M 0 "ServerAliveInterval 45" -o "ServerAliveCountMax 2" -NCD 8080 username@example.com <br />
</div><br />
عند إستخدام الخيار -f، Autossh سيتم تشغيله كعملية في الخلفية، تشغيله بهذه الطريقة يعني أنظ لا تستطيع إدخال معلومات الإتصال بشكل تفاعلي.<br />
سيتم إنهاء الجلسة فقط عندما تتم كتابة exit أو عندما تتلقى Autossh إشارة SIGTERM, SIGINT , SIGKILL<br />
<br />
إذا أردت تشغيل autossh تلقائيًا، يُمكنك وبسهولة استخدام systemd، فعلى سبيل المثال يُمكنك إنشاء ملف واحدة خاص بخدمة systemd على الشكل التالي :<br />
<div align=left dir=ltr><br />
[Unit]<br />
Description=AutoSSH service for port 2222<br />
After=network.target<br />
<br />
[Service]<br />
ExecStart=/usr/bin/autossh -M 0 2222:localhost:2222 foo@bar.com<br />
</div><br />
ومن ثم قم بوضعها في ملف -وعلى سبيل المثال- /etc/systemd/system/system/autossh.service، بالطبع يُمكنك إنشاء ملف واحدة أكثر تعقيدًا إذا كان ذلك ضروريًا (يُمكنك الرجوع الى التوثيق الخاص بخدمة systemd لمزيد من التفاصيل)، وبكل تأكيد يُمكنك إستخدام الخيارات الخاصة بك في autossh.<br />
<br />
ومن ثم قم بتفعيل أنفاق autossh كالتالي :<br />
<div align=left dir=ltr><br />
$ systemctl start autossh<br />
</div><br />
(أو حسب ما قمُت بتسمية ملف الواحدة)<br />
<br />
من المُمكن أيضًا التعامل مع عدة عمليات autossh سويًا، وذلك لإبقاء الإتصال مفتوحًا في عدة أنفاق. عليك فقط إنشاء ملفات .service متعددة ذات أسماء مُختلفة.<br />
<br />
== إستكشاف الأخطاء وإصلاحها ==<br />
=== الإتصالات تُرفض أو تنتهي مدتها ===<br />
<br />
==== هل الراوتر لديك يقوم بتمرير المنافذ؟ ====<br />
<br />
قم بتجاوز هذه الخطوة إذا كنت خلف NAT modem/router. (على سبيل المثال VPS أو غيره). أغلب المنازل أو الشركات الصغيرة يكون لديها NAT modem/router.<br />
<br />
أو شيئ يجب التحقق منه هو أن الراوتر لديك يقوم بتمرير إتصالات ssh القادمة الى جهازك المحلي. عنوان IP الخارجي الذي تم إعطاؤه لك من قبل مزود خدمة الإنترنت، وهو نفس العنوان الذي يتم ربطه مع الطلبات الخاجية من قبل الراوتر لديك. لذا يجب على الراوتر أن يعلم أن إتصالات SSH القادمة يجب أن يتم تمريرها الى خدمة sshd في جهازك المحلي.<br />
<br />
قم بمعرفة عنوان ip الخاص بجهازك في الشبكة المحلية :<br />
<div align=left dir=ltr><br />
ip a<br />
</div><br />
قم بالبحث عن الحقل الخاص بقيمة inet. ومن ثم قم بالدخول الى لوحة الإعدادات الخاصة بالراوتر لديك مُستخدمًا عنوان IP الخاص به. قم بإخبار الراوتر لديك بأن يقوم بتمرير الإتصالات الى عنوان inet IP قم بزيارة موقع [http://portforward.com/] لمزيد من المعلومات حول كيفية تمرير المنافذ في الراوتر الخاص بك.<br />
<br />
==== هل خدمة ssh تعمل؟ ====<br />
<div align=left dir=ltr><br />
$ ss -tnlp<br />
</div><br />
إذا لم تُظهر التعليمة السابقة أن منفذ ssh مفتوح فإن خدمة ssh لا تعمل، قم بالتحقق من ملف {{ic|/var/log/messages}} للحصول على الأخطاء.<br />
<br />
==== هل يقوم الجدار الناري الخاص بك بحجب الإتصالات ؟ ====<br />
{{out of date|rc.d is deprecated with systemd}}<br />
Flush your iptables rules to make sure they are not interfering:<br />
<div align=left dir=ltr><br />
# rc.d stop iptables<br />
</div><br />
أو:<br />
<div align=left dir=ltr><br />
# iptables -P INPUT ACCEPT<br />
# iptables -P OUTPUT ACCEPT<br />
# iptables -F INPUT<br />
# iptables -F OUTPUT<br />
</div><br />
==== هل يصل الإتصال أساسًا الى جهازك؟ ====<br />
قم بعمل traffic dump في الجهاز الذي تواجه فيه المشاكل بإستخدام التعليمة التالية:<br />
<div align=left dir=ltr><br />
# tcpdump -lnn -i any port ssh and tcp-syn<br />
</div><br />
سيتم إظهار بعض المعلومات البسيطة، الآن قم بتجربة الإتصال. إذا لم تشاهد أي مخرجات خلال عملية الإتصال, فهذا يعني أن شيئاً ما خارج جهازك يمنع الإتصال (على بسيل المثال : جدار ناري خارجي أو NAT راوتر).<br />
<br />
==== هل يقوم مزود الخدمة الخاص بك أو أي جهة اخرى بحجب المنفذ الإفتراضي ؟ ====<br />
{{Note|قم بتجريب الخطوة التالية فقط إذا كنت '''متأكدًا''' من أنك لا تستخدم أي جدار ناري وقمت بإعداد الراوتر لديك إعدادًا صحيحًا وذلك بتمرير المنفذ الى جهازك المحلي.}}<br />
<br />
في بعض الحالات، يقوم مزود الخدمة الخاص بك بحجب المنفذ الإفتراضي 22 لذا مهما حاولت من طرق فهي لن تُجدي نفعًا.<br />
<br />
إذا واجهتك رسالة شبيهة بالرسالة التالية :<br />
<div align=left dir=ltr><br />
ssh: connect to host www.inet.hr port 22: Connection refused<br />
</div><br />
فهذا لا يعني أن المنفذ قم تم حجبه من قبل مزود الخدمة، بل أن الخادم لا يُشغل خدمة SSH على هذا المنفذ(راجع [http://en.wikipedia.org/wiki/Security_through_obscurity security through obscurity]).<br />
<br />
أما إذا واجهت رسالة كالرسالة التالية :<br />
<div align=left dir=ltr><br />
ssh: connect to host 111.222.333.444 port 22: Operation timed out <br />
</div><br />
هذا يعني أن هنالك شيئ يمنع إتصال TCP على المنفذ 22. إذا كنت متأكدًا تمامًا من الإعداد الصحيح للجدار الناري و/أو الراوتر، فإن ذلك يعني أن المنفذ محجوب من قبل مزود الخدمة.<br />
<br />
To double check, you can run Wireshark on your server and listen to traffic on port 22. Since Wireshark is a Layer 2 Packet Sniffing utility, and TCP/UDP are Layer 3 and above (See [http://en.wikipedia.org/wiki/TCP/IP_model IP Network stack]), if you don't receive anything while connecting remotely, a third party is most likely to be blocking the traffic on that port to your server.<br />
<br />
===== Diagnosis via Wireshark =====<br />
[[pacman|Install]] Wireshark with the {{Pkg|wireshark-cli}} package, available in the [[official repositories]].<br />
<br />
And then run it using,<br />
tshark -f "tcp port 22" -i NET_IF<br />
<br />
where NET_IF is the network interface for a WAN connection (see {{ic|ip a}} to check). If you aren't receiving any packets while trying to connect remotely, you can be very sure that your ISP is blocking the incoming traffic on port 22.<br />
<br />
===== Possible solution =====<br />
The solution is just to use some other port that the ISP isn't blocking. Open the {{ic|/etc/ssh/sshd_config}} and configure the file to use different ports. For example, add:<br />
<br />
Port 22<br />
Port 1234<br />
<br />
Also make sure that other "Port" configuration lines in the file are commented out. Just commenting "Port 22" and putting "Port 1234" won't solve the issue because then sshd will only listen on port 1234. Use both lines to run the SSH server on both ports. <br />
<br />
Restart the server {{ic|systemctl restart sshd.service}} and you're almost done. You still have to configure your client(s) to use the other port instead of the default port. There are numerous solutions to that problem, but let's cover two of them here.<br />
<br />
==== مشكلة Read from socket failed: connection reset by peer ====<br />
الإصدارات التي اطلقت مؤخرًا من openssh تفشل في بعض الأحيان مخرجةً رسالة خطأ كالرسالة السابقة بسبب وجود علّة في خاصية التشفير فيها. في هذه الحالة قم بإضافة السطر التالي الى ملف {{ic|~/.ssh/config}}:<br />
<br />
HostKeyAlgorithms ssh-rsa-cert-v01@openssh.com,ssh-dss-cert-v01@openssh.com,ssh-rsa-cert-v00@openssh.com,ssh-dss-cert-v00@openssh.com,ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,ssh-rsa,ssh-dss<br />
<br />
في إصدار openssh 5.9 السطر السابق لا يقوم بحل المشكلة. لذا قم بوضع السطور التالية في ملف {{ic|~/.ssh/config}}:<br />
<br />
Ciphers aes128-ctr,aes192-ctr,aes256-ctr,aes128-cbc,3des-cbc <br />
MACs hmac-md5,hmac-sha1,hmac-ripemd160<br />
<br />
راجع أيضًا [http://www.gossamer-threads.com/lists/openssh/dev/51339 discussion] في مركز علل openssh<br />
<br />
=== "[الصدفة التي تستخدمها]: No such file or directory" ===<br />
مسبب من مسببات هذه المشكلة هو أن بعض عملاء SSH يحتاجون الى معرفة المسار المطلق عن طريق الأمر {{Ic|whereis -b [your shell]}}، وحتى لوكان الملف التنفيئي للصدفة موجود في {{Ic|$PATH}}. سبب آخر هو أن المستخدم ليس عضوًا في مجموعة ''network''.<br />
<br />
===ظهور رسالة الخطأ "Terminal unknown" أو "Error opening terminal"===<br />
من الممكن عند إستخدام ssh الحصول على أخطاء من من قبيل "Terminal unknown" عندما تحاول تسجيل الدخول. بدء بعض التطبيقات كتطبيق nano يفشل مُظهرًا الرسالة "Error opening terminal". يوجد طريقتين لحل المشاكل من هذا النوع، الطريقة السلهة هي إستخدام المُتغير $TERM، أو باستخدام ملف terminfo.<br />
<br />
====الحل بواسطة المتغير $TERM====<br />
بعد الإتصال الى الخادم، قم بتحديد قيمة المتغير $TERM الى "xterm" مُستخدمًا التعليمة التالية :<br />
<div align=left dir=ltr><br />
{{ic|TERM&#61;xterm}}<br />
</div><br />
هذا الحل يحوي على بعض المشاكل الجانبية. ويتوجب عليك أيضًا أن تقوم بتكرار هذه التعليمة كل مرة تقوم فيها بتسجيل الدخول الى الخادم. أو بشكل بديل يمكنك وضعها في ملف ~.bashrc .<br />
====الحل بإستخدام ملف terminfo====<br />
حل آخر هو نقل ملف terminfo من جهازك المحلي الى الخادم. في هذا المثال سنقوم بشرح كيفية تهيئة ملف terminfo من أجل طرفية من نوع "rxvt-unicode-256color".<br />
قم بإنشاء مجلد يحوي على ملفات terminfo في خادم ssh، عندما تقوم بتسجيل الدخول الى الخادم قم بإستخدام هذه التعليمة :<br />
<div align=left dir=ltr><br />
<br />
{{ic| mkdir -p ~/.terminfo/r/}}<br />
<br />
</div><br />
<br />
الآن قم بنسخ ملف terminfo الخاص بالطرفيتك الى المجلد الجديد. مُستبدلًا ''"rxvt-unicode-256color"'' بالطرفية الخاصة بك في التعليمة التالية و ''ssh-server'' بإسم المستخدم وعنوان الخادم الخاصين بك<br />
<br />
<div align=left dir=ltr><br />
{{ic|$ scp /usr/share/terminfo/r/''rxvt-unicode-256color'' ssh-server:~/.terminfo/r/}}<br />
<br />
</div><br />
بعدما تقوم بتسجيل الخروج ومن ثم تسجيل الدخول مُجددًا، تكون المشكلة قد حُلّت.<br />
<br />
== شاهد أيضًا ==<br />
*[[SSH Keys]]<br />
*[[Pam abl]]<br />
*[[fail2ban]]<br />
*[[sshguard]]<br />
*[[Sshfs]]<br />
*[[Syslog-ng]] : لإرسال log الخاص بـ ssh الى ملف<br />
<br />
== Links & references ==<br />
*[http://www.soloport.com/iptables.html A Cure for the Common SSH Login Attack]<br />
*[http://www.la-samhna.de/library/brutessh.html Defending against brute force ssh attacks]<br />
*[http://www.ibm.com/developerworks/library/l-keyc/index.html OpenSSH key management, Part 1] and [http://www.ibm.com/developerworks/library/l-keyc2 Part 2] on IBM developerWorks<br />
</div></div>Abd allatifhttps://wiki.archlinux.org/index.php?title=Secure_Shell_(%D8%A7%D9%84%D8%B9%D8%B1%D8%A8%D9%8A%D8%A9)&diff=262274Secure Shell (العربية)2013-06-11T06:32:59Z<p>Abd allatif: </p>
<hr />
<div>[[Category:Secure Shell (العربية)]]<br />
[[Category:العربية]]<br />
[[Category:Networking (العربية)]]<br />
[[es:Secure Shell]]<br />
[[de:SSH]]<br />
[[fr:ssh]]<br />
[[it:Secure Shell]]<br />
[[ko:Secure Shell]]<br />
[[pl:Secure Shell]]<br />
[[pt:Secure Shell]]<br />
[[ru:Secure Shell]]<br />
[[sr:Secure Shell]]<br />
[[zh-CN:Secure Shell]]<br />
<div align=right dir=rtl><br />
'''الصدفة الآمنة''' ('''SSH''') هي بروتوكول من بروتوكولات الشبكة التي تسمح بتبادل البيانات عبر محطة آمنة بين حاسبين مختلفين, التشفير يضمن سرية المعلومات. إن ssh يستخدم التعمية يالمفتاح العمومي لكي يتم الإستيثاق بالحاسب الذي يقوم بإجراء الإتصال وللسماح بالإستيثاق من المستخدم إذا كان ذلك ضروريًا.<br />
<br />
بشكل عام تُستخدم ssh للولوج الى حاسب عن بعد و تنفيذ, لكنها أيضًا تدعم إنشاء لأنفاق الآمنة بالإضافة الى تمرير المنافذ و إتصالات X11 ونقل الملفات يمكن أن يتم يإستخدام بروتوكول sftp أو بروتوكول scp.<br />
<br />
إن خادم ssh بشكل إفتراضي يقوم بإستقبال الإتصالات عبر المنفذ الإفتراضي 22 tcp, عميل ssh هو عبارة عن برنامج يُستخدم لإنشاء إتصال الى خدمة ssh في حال تم إعداده لقبول الإتصالات. كلاهما يتوفر بشكل كبير في الأنظمة الشهيرة كنظام Mac OS X, GNU/Linux, Solaris و OpenVMS. برامج مملوكة و مفتوحة المصدر بمختلف الإصدارات ومختلف مراحل التعقيد و الكمالية متوفرة في الوقت الراهن.<br />
<br />
(Source: [[Wikipedia:Secure Shell]])<br />
<br />
== OpenSSH ==<br />
إن openssh (OpenBSD Secure Shell) هو مجموعة من برامج الحاسب التي توفر وسيلة تواصل مشفرة بين شبكة من الحواسيب بإستخدام بروتوكول ssh, تم تطويرها لتُشكل بديلاً عن برمجيات الصدفة الآمنة المملوكة التي تم تطويرها بواسطة SSH Communications Security. إن openSSH تم تطويرها كجزء من مشروع OpenBSD الذي كان بقيادة Theo de Raadt.<br />
<br />
عادةً ما يتم الخلط بين openSSH و بين OpenSSL, كلا المشروعين لديه هدفه الخاص ولا علاقة له بالمشروع الآخر, لكن تشابه الأسماء يشير فقط الى التشابه في الهدف الذي هو توفير بدلا مفتوح المصدر عن البرمجيات المملوكة.<br />
<br />
=== Installing OpenSSH ===<br />
قم بتنصيب حزمة OpenSSH من المستودعات الرسمية<br />
=== تهيئة إعدادات ssh ===<br />
====العميل====<br />
إن ملفي الإعدادات الخاصين بعميل ssh هما {{ic|/etc/ssh/ssh_config}} أو {{ic|~/.ssh/config}}.<br />
<br />
مثال عن ملف الإعدادت :<br />
<div align=left dir=ltr><br />
{{hc|/etc/ssh/ssh_config|<br />
# $OpenBSD: ssh_config,v 1.26 2010/01/11 01:39:46 dtucker Exp $<br />
<br />
# This is the ssh client system-wide configuration file. See<br />
# ssh_config(5) for more information. This file provides defaults for<br />
# users, and the values can be changed in per-user configuration files<br />
# or on the command line.<br />
<br />
# Configuration data is parsed as follows:<br />
# 1. command line options<br />
# 2. user-specific file<br />
# 3. system-wide file<br />
# Any configuration value is only changed the first time it is set.<br />
# Thus, host-specific definitions should be at the beginning of the<br />
# configuration file, and defaults at the end.<br />
<br />
# Site-wide defaults for some commonly used options. For a comprehensive<br />
# list of available options, their meanings and defaults, please see the<br />
# ssh_config(5) man page.<br />
<br />
# Host *<br />
# ForwardAgent no<br />
# ForwardX11 no<br />
# RhostsRSAAuthentication no<br />
# RSAAuthentication yes<br />
# PasswordAuthentication yes<br />
# HostbasedAuthentication no<br />
# GSSAPIAuthentication no<br />
# GSSAPIDelegateCredentials no<br />
# BatchMode no<br />
# CheckHostIP yes<br />
# AddressFamily any<br />
# ConnectTimeout 0<br />
# StrictHostKeyChecking ask<br />
# IdentityFile ~/.ssh/identity<br />
# IdentityFile ~/.ssh/id_rsa<br />
# IdentityFile ~/.ssh/id_dsa<br />
# Port 22<br />
# Protocol 2,1<br />
# Cipher 3des<br />
# Ciphers aes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,aes128-cbc,3des-cbc<br />
# MACs hmac-md5,hmac-sha1,umac-64@openssh.com,hmac-ripemd160<br />
# EscapeChar ~<br />
# Tunnel no<br />
# TunnelDevice any:any<br />
# PermitLocalCommand no<br />
# VisualHostKey no<br />
# ProxyCommand ssh -q -W %h:%p gateway.example.com<br />
}}<br />
</div><br />
من المُفضل تغيير السطر الخاص بنوع البروتوكول الى السطر التالي :<br />
Protocol 2<br />
<br />
هذا يعني أن البروتوكول 2 سيتم إستخدامه فقط، لأن البروتوكول 1 يتم إعتباره غير آمنة بالمقارنة من البروتوكول 2.<br />
<br />
====خدمة ssh====<br />
يمكن الحصول وتعديل على إعدادات خدمة ssh في الملف {{ic|/etc/ssh/ssh'''d'''_config}}.<br />
<br />
مثال عن ملف الإعدادات :<br />
<div align=left dir=ltr><br />
{{hc|/etc/ssh/sshd_config|2=<br />
# $OpenBSD: sshd_config,v 1.82 2010/09/06 17:10:19 naddy Exp $<br />
<br />
# This is the sshd server system-wide configuration file. See<br />
# sshd_config(5) for more information.<br />
<br />
# This sshd was compiled with PATH=/usr/bin:/bin:/usr/sbin:/sbin<br />
<br />
# The strategy used for options in the default sshd_config shipped with<br />
# OpenSSH is to specify options with their default value where<br />
# possible, but leave them commented. Uncommented options change a<br />
# default value.<br />
<br />
#Port 22<br />
#AddressFamily any<br />
#ListenAddress 0.0.0.0<br />
#ListenAddress ::<br />
<br />
# The default requires explicit activation of protocol 1<br />
#Protocol 2<br />
<br />
# HostKey for protocol version 1<br />
#HostKey /etc/ssh/ssh_host_key<br />
# HostKeys for protocol version 2<br />
#HostKey /etc/ssh/ssh_host_rsa_key<br />
#HostKey /etc/ssh/ssh_host_dsa_key<br />
#HostKey /etc/ssh/ssh_host_ecdsa_key<br />
<br />
# Lifetime and size of ephemeral version 1 server key<br />
#KeyRegenerationInterval 1h<br />
#ServerKeyBits 1024<br />
<br />
# Logging<br />
# obsoletes QuietMode and FascistLogging<br />
#SyslogFacility AUTH<br />
#LogLevel INFO<br />
<br />
# Authentication:<br />
<br />
#LoginGraceTime 2m<br />
#PermitRootLogin yes<br />
#StrictModes yes<br />
#MaxAuthTries 6<br />
#MaxSessions 10<br />
<br />
#RSAAuthentication yes<br />
#PubkeyAuthentication yes<br />
#AuthorizedKeysFile .ssh/authorized_keys<br />
<br />
# For this to work you will also need host keys in /etc/ssh/ssh_known_hosts<br />
#RhostsRSAAuthentication no<br />
# similar for protocol version 2<br />
#HostbasedAuthentication no<br />
# Change to yes if you do not trust ~/.ssh/known_hosts for<br />
# RhostsRSAAuthentication and HostbasedAuthentication<br />
#IgnoreUserKnownHosts no<br />
# Don't read the user's ~/.rhosts and ~/.shosts files<br />
#IgnoreRhosts yes<br />
<br />
# To disable tunneled clear text passwords, change to no here!<br />
#PasswordAuthentication yes<br />
#PermitEmptyPasswords no<br />
<br />
# Change to no to disable s/key passwords<br />
ChallengeResponseAuthentication no<br />
<br />
# Kerberos options<br />
#KerberosAuthentication no<br />
#KerberosOrLocalPasswd yes<br />
#KerberosTicketCleanup yes<br />
#KerberosGetAFSToken no<br />
<br />
# GSSAPI options<br />
#GSSAPIAuthentication no<br />
#GSSAPICleanupCredentials yes<br />
<br />
# Set this to 'yes' to enable PAM authentication, account processing, <br />
# and session processing. If this is enabled, PAM authentication will <br />
# be allowed through the ChallengeResponseAuthentication and<br />
# PasswordAuthentication. Depending on your PAM configuration,<br />
# PAM authentication via ChallengeResponseAuthentication may bypass<br />
# the setting of "PermitRootLogin without-password".<br />
# If you just want the PAM account and session checks to run without<br />
# PAM authentication, then enable this but set PasswordAuthentication<br />
# and ChallengeResponseAuthentication to 'no'.<br />
UsePAM yes<br />
<br />
#AllowAgentForwarding yes<br />
#AllowTcpForwarding yes<br />
#GatewayPorts no<br />
#X11Forwarding no<br />
#X11DisplayOffset 10<br />
#X11UseLocalhost yes<br />
#PrintMotd yes<br />
#PrintLastLog yes<br />
#TCPKeepAlive yes<br />
#UseLogin no<br />
#UsePrivilegeSeparation yes<br />
#PermitUserEnvironment no<br />
#Compression delayed<br />
#ClientAliveInterval 0<br />
#ClientAliveCountMax 3<br />
#UseDNS yes<br />
#PidFile /var/run/sshd.pid<br />
#MaxStartups 10<br />
#PermitTunnel no<br />
#ChrootDirectory none<br />
<br />
# no default banner path<br />
#Banner none<br />
<br />
# override default of no subsystems<br />
Subsystem sftp /usr/lib/ssh/sftp-server<br />
<br />
# Example of overriding settings on a per-user basis<br />
#Match User anoncvs<br />
# X11Forwarding no<br />
# AllowTcpForwarding no<br />
# ForceCommand cvs server<br />
}}<br />
</div><br />
لكي يتم السماح بالولوج فقط لمُستخدمين مُحددين، قم بإضافة السطر التالي الى ملف الإعدادت :<br />
<div align=left dir=ltr><br />
AllowUsers user1 user2<br />
</div><br />
<br />
ولإلغاء تفعيل دخول المستخدم الجذر root مباشرةً عبر خدمة ssh، قم بتعديل قمية الخاصية PermitRootLogin الى التالي :<br />
<div align=left dir=ltr><br />
PermitRootLogin no<br />
</div><br />
<br />
ولكي تُضيف رسالة ترحيب، قم بتعديل ملف {{ic|/etc/issue}} ومن ثم قم بتعديل السطر الخاص بالقيمة Banner الى التالي :<br />
<div align=left dir=ltr><br />
Banner /etc/issue<br />
</div><br />
<br />
{{تلميح : لربما تريد تغيير المنفذ الإفتراضي من 22 الى رقم منفذ أعلى منه (يُمكنك الرجوع الى المقال security through obscurity) (راجع [http://en.wikipedia.org/wiki/Security_through_obscurity security through obscurity]).}} <br />
<br />
وعلى الرغم من أن منفذ ssh يُمكن الكشف عنه بسهولةبإحدى أدوات المسح الخاصة بالشبكات nmap، لكن تغييره سيُفيد بتقليل عدد محاولات الدخول المؤتمتة، للمساعدة في إختيار رقم منفذ مناسب قم بمراجعة المقال التالي [[Wikipedia:List of TCP and UDP port numbers|list of TCP and UDP port numbers]].<br />
<br />
{{Tip|إلغاء تفعيل الدخول عن طريق كلمات المرور ستُزيد بشكل كبير من الأمان راجع مقال [[SSH Keys]] لمزيد من المعلومات.}}<br />
<br />
=== إدارة خدمة ssh ===<br />
يمكن بدء خدمة ssh بإستخدام التعلمية التالية :<br />
<div align=left dir=ltr><br />
# systemctl start sshd<br />
</div><br />
<br />
ويمكن تفعيل تشغيل خدمة ssh عند بدء تشغيل النظام بواسطة التعليمة التالية : # systemctl enable sshd.service<br />
<br />
{{تحذير|إن Systemd هو غير متزامن في بدء العمليات، لذا فإذا قُمت بتحديد خدمة ssh الى عنوان ip مُحدد ListenAddress 192.168.1.100، فيمكن أن تفشل في البدء أثناء الإقلاع، يُمكن حل هذه المشكلة بإضافة After&#61;network.target الى ملف الواحدة المُخصص، قم بمراجعة [[Systemd#Replacing provided unit files]].}}<br />
<br />
أو أن تقوم ببدء تشغيل خدمة ssh عند أول إتصال تتلقاه :<br />
# systemctl enable sshd.socket<br />
إذا كنت تستخدم منفذ غير منفذ 22 الإفتراضي، عليك وضع القيمة "ListenStream" في ملف الوحدة<br />
في ملف /etc/systemd/system/sshd.socket قم بتغيير القيمة "ListenStream" الى المنفذ المناسب.<br />
<br />
=== الإتصال بالخادم ===<br />
لكي تقوم بالإتصال بالخادم قم بتنفيذ التعليمة التالية :<br />
<div align=left dir=ltr><br />
$ ssh -p port user@server-address<br />
</div><br />
<br />
== عملاء و خوادم ssh الاخرى ==<br />
بعيدًا عن OpenSSH؛ يوجد هناك العديد من عملاء و خوادم ssh متاحة للإستخدام [[Wikipedia:Comparison of SSH clients|clients]] و [[Wikipedia:Comparison of SSH servers|servers]].<br />
<br />
=== Dropbear ===<br />
[[Wikipedia:Dropbear (software)|Dropbear]] هو خادم وعميل ssh-2. حزمة {{AUR|dropbear}} متوفرة في [[AUR]].<br />
<br />
إن عميل ssh الخاص بموجه الأوامر يُسمى dbclient.<br />
<br />
=== Mosh بديل SSH ===<br />
الجملة التالية مقتبسة من موقع [http://mosh.mit.edu/ mosh]:<br />
تطبيق يسمح بالإتصال عبر طرفية بعيدة, يدعم الإتصالات المتقطعة, ويقدم طريقة ذكية للتعديل السطري لكتابات المستخدم. Mosh هو بديل لخدمة ssh. هو أكثر قوة وإستجابة وخصوصًا عبر شبكات Wi-Fi, cellular و الشبكات بعيدة المدى.<br />
<br />
يمكنك تنصيب {{Pkg|mosh}} من المستودعات الرسمية، أو آخر نسخة {{AUR|mosh-git}} من [[AUR]].<br />
<br />
== تلمحيات ==<br />
<br />
=== Encrypted SOCKS tunnel ===<br />
هذه التلميحة مُفيدة جدًا لمستخدمي الحواسيب المُحمولة الذين يتصلون بشبكات WiFi غير آمنة. الشيء الوحيد الذي ستحتاج إليه هو خادم ssh يعمل في مكان آمن (العمل أو المنزل). من المفيد إستخدام خدمة DNS ديناميكية :[http://www.dyndns.org/ DynDNS] كمثال، لذا فلن تحتاج الى تذكر عنوان IP الخاص بك.<br />
<br />
==== الخطوة الولى : قم ببدء الإتصال ====<br />
عليك فقط تنفيذ التعليمة التالية لكي تقوم ببدء الإتصال بخادم ssh : $ ssh -TND 4711 user@host<br />
حيث {{Ic|"user"}} هو اسم المستخدم الخاص بك على الخادم {{Ic|"host"}}، سوف يتم سؤالك عن كلمة المرور الخاصة بك. بعد ذلك تكون قد قمت بالإتصال بنجاح. الراية {{Ic|"N"}} fتقوم بإلغاء تفعيل موجه الأوامر التفاعلي بينما الراية D تقوم بتحديد منفذ محلي يمكنك الإتصال منه (تستطيع إختيار أي رقم تريده). الراية {{Ic|"T"}} تقوم بإلغاء تفعيل حصة pseudo-tty.<br />
<br />
من المفيد استخدام الراية {{Ic|"-v"}} لأنها تسمح لك من التأكد من أن عملية الإتصال تمت بنجاح من المخرجات.<br />
<br />
==== الخطوة الثانية : إعداد المتصفح (أو بقية البرامج) ====<br />
الخطوة السابقة عديمة الجدوى تمامًا إن لم تقترن بالإعداد الصحيح لمتصفح الويب -أو أي برنامج آخر- لإستخدام انبوب socks الذي قمنا بإنشاءه.<br />
وبما أن النسخة الحالية من ssh تدعم SOCKS4 و SOCKS5 فيمكنك إستخدام أي منهما.<br />
<br />
لإعداد متصفح firefox : في البداية قم بالدخول الى Edit → Preferences → Advanced → Network → Connection → Setting :<br />
قم بتحديد الخيار "Manual proxy configuration" وقم بإدخال القيمة "localhost" في مربع النص المُعنون "SOCKS host" ومن ثم قم بإدخال رقم المنفذ الذي قمت بتحديده في الخطوة السابقة (تم إستخدام 4711)<br />
<br />
متصفح firefox لا يقوم بشكل تلقائي بعمل طلبات DNS عبر انبوب socks، هذا الأمر قد يُعرض خصوصيتك للخر لذا قم بعمل الخطوات التالية :<br />
<br />
- قم بطلب الصفحة about:config في شريط العنوان الخاص بمتصفح firefox<br />
- ابحث عن الراية network.proxy.socks_remote_dns<br />
- قم بتحديد true كقيمة لهذه الراية<br />
- قم بإعادة تشغيل المتصفح<br />
<br />
وأما مُتصفح Chromium فيمكنك تحديد إعدادات socks كمتغيرات خاصة بالبيئة أو بإستخدامها كوسيط في سطر الأوامر، أنا أفضل إضافة إحدى الدالتين الى ملف {{ic|.bashrc}} الخاص بك :<br />
<div align=left dir=ltr><br />
function secure_chromium {<br />
port=4711<br />
export SOCKS_SERVER=localhost:$port<br />
export SOCKS_VERSION=5<br />
chromium &<br />
exit<br />
}<br />
</div><br />
أو<br />
<div align=left dir=ltr><br />
function secure_chromium {<br />
port=4711<br />
chromium --proxy-server="socks://localhost:$port" &<br />
exit<br />
}<br />
</div><br />
<br />
الآن قم بفتح نافذة الطرفية و نفذ الأمر التالي :<br />
<div align=left dir=ltr><br />
$ secure_chromium<br />
</div><br />
<br />
=== تمرير X11 ===<br />
إذا أردت تشغيل برمجيات رسومية عبرإتصال ssh، يتوجب عليك تفعيل خيار تمرير X11 في ملفات الإعدادات في الخادم و العميل (هنا "العميل" هو الجهاز الذي يعمل عليه خادم X11 و يقوم بالإتصال بخدمات X11 من جهاز "الخادم").<br />
<br />
قم بتنصيب الحزمة {{Pkg|xorg-xauth}} من المستودعات الرسمية الى الخادم<br />
<br />
قم بتفعيل الخيار AllowTcpForwarding في ملف {{ic|ssh'''d'''_config}} على الخادم<br />
قم بتفعيل الخيار X11Forwarding في ملف {{ic|ssh'''d'''_config}} على الخادم<br />
قم بتحديد قيمة الخيار X11DisplayOffset في ملف {{ic|ssh'''d'''_config}} على الخادم الى الرقم 10<br />
قم بتفعيل الخيار X11UseLocalhost في ملف {{ic|ssh'''d'''_config}} على الخادم<br />
يتوجب عليك أيضًا :<br />
تفعيل الخيار X11UseLocalhost في ملف {{ic|ssh_config}} على العميل<br />
قم بتفعيل الخيار ForwardX11Trusted إذا وجدت مشاكل في الواجهة الرسومية<br />
<br />
بالطبع يتوجب عليك إعادة تشغيل خدمة ssh في الخادم لكي يتم تطبيق الإعدادت السابقة .<br />
<br />
عندما تقوم بإتسخدام تمرير X11 قم بتنفيذ الأمر التالي في الطرفية <br />
<div align=left dir=ltr><br />
$ ssh -X -p port user@server-address<br />
</div><br />
إذا واجهت مشكل في تشغيل البرمجيات الرسومية قم بعمل تمرير موثوق مستخدمًا الأمر التالي :<br />
<div align=left dir=ltr><br />
$ ssh -Y -p port user@server-address<br />
</div><br />
الآن عندما تقوم بتشغيل البرمجيات الرسومية على الخادم، فسيتم تمرير المخرجات الى جهازك المحلي.<br />
<div align=left dir=ltr><br />
$ xclock<br />
</div><br />
<br />
إذا واجهت أخطاء من قبيل "Cannot open display"، قم بتطبيق التعليمة التالية كمستخدم غير مدير للنظام :<br />
<div align=left dir=ltr><br />
$ xhost +<br />
</div><br />
<br />
التعليمة السابقة تقوم بالسماح بتمرير تطبيقات X11 للجميع، إذا أردت حصر ذلك بجهاز معين قم بإستخدام التعليمة التالية :<br />
<div align=left dir=ltr><br />
$ xhost +hostname<br />
</div><br />
<br />
حيث hostname هو اسم الجهاز الذي تريد تمرير إتصالات X11 له. يمكنك الرجوع الى "man xhost" لمزيد من المعلومات عن إستخدام هذا التعليمة.<br />
<br />
كن حذرًا مع بعض البرامج التي تتحقق من بيئة العمل المُستخدمة على الجهاز المحلي، مثال عليها برنامج firefox. فيمكنك إغلاق برنامج firefox أو عن طريق تشغيل firefox مفعلًا الخيار -no-remote :<br />
<div align=left dir=ltr><br />
$ firefox -no-remote<br />
</div><br />
إذا ظهرت لك رسالة الخطأ التالية "X11 forwarding request failed on channel 0" فقم بإحدى الخطوتين التاليتين :<br />
* قم بتفعيل خيار'''AddressFamily any''' في ملف {{ic|ssh'''d'''_config}} على الخادم.<br />
* قم بتحديد قيمة الخيار '''AddressFamily''' في ملف {{ic|ssh'''d'''_config}} على الخادم الى inet.<br />
تحديد القيمة inet للخيار AddressFamily يحّل المشاكل مع عملاء ubuntu الذين يستخدمون IPv4.<br />
<br />
=== تمرير المنافذ الاخرى ===<br />
بالإضافة الى خاصية تمرير X11 المدمجة مع ssh، يمكنك إنشاء نفق آمن لأي من إتصالات TCP، وذلك بإستخدام تمرير محلي أو عن بُعد.<br />
التمرير المحلي يقوم بفتح منفذ في الجهاز المحلي، الإتصالات سيتم تمريرها الى الخادم البعيد ومن ثم من هناك ستصل الى وجهتها.<br />
Very often, the forwarding destination will be the same as the remote host, thus providing a secure shell and, e.g. a secure VNC connection, to the same machine. Local forwarding is accomplished by means of the {{Ic|-L}} switch and it's accompanying forwarding specification in the form of {{Ic|<tunnel port>:<destination address>:<destination port>}}.<br />
<br />
Thus:<br />
<br />
$ ssh -L 1000:mail.google.com:25 192.168.0.100<br />
<br />
will use SSH to login to and open a shell on 192.168.0.100, and will also create a tunnel from the local machine's TCP port 1000 to mail.google.com on port 25. Once established, connections to localhost:1000 will connect to the Gmail SMTP port. To Google, it will appear that any such connection (though not necessarily the data conveyed over the connection) originated from 192.168.0.100, and such data will be secure as between the local machine and 192.168.0.100, but not between 192.168.0.100, unless other measures are taken.<br />
<br />
Similarly:<br />
<br />
$ ssh -L 2000:192.168.0.100:6001 192.168.0.100<br />
<br />
will allow connections to localhost:2000 which will be transparently sent to the remote host on port 6001. The preceding example is useful for VNC connections using the vncserver utility--part of the tightvnc package--which, though very useful, is explicit about its lack of security.<br />
<br />
Remote forwarding allows the remote host to connect to an arbitrary host via the SSH tunnel and the local machine, providing a functional reversal of local forwarding, and is useful for situations where, e.g., the remote host has limited connectivity due to firewalling. It is enabled with the {{Ic|-R}} switch and a forwarding specification in the form of {{Ic|<tunnel port>:<destination address>:<destination port>}}.<br />
<br />
Thus:<br />
<br />
$ ssh -R 3000:irc.freenode.net:6667 192.168.0.200<br />
<br />
will bring up a shell on 192.168.0.200, and connections from 192.168.0.200 to itself on port 3000 (remotely speaking, localhost:3000) will be sent over the tunnel to the local machine and then on to irc.freenode.net on port 6667, thus, in this example, allowing the use of IRC programs on the remote host to be used, even if port 6667 would normally be blocked to it.<br />
<br />
Both local and remote forwarding can be used to provide a secure "gateway," allowing other computers to take advantage of an SSH tunnel, without actually running SSH or the SSH daemon by providing a bind-address for the start of the tunnel as part of the forwarding specification, e.g. {{Ic|<tunnel address>:<tunnel port>:<destination address>:<destination port>}}. The {{Ic|<tunnel address>}} can be any address on the machine at the start of the tunnel, {{Ic|localhost}}, {{Ic|*}} (or blank), which, respectively, allow connections via the given address, via the loopback interface, or via any interface. By default, forwarding is limited to connections from the machine at the "beginning" of the tunnel, i.e. the {{Ic|<tunnel address>}} is set to {{Ic|localhost}}. Local forwarding requires no additional configuration, however remote forwarding is limited by the remote server's SSH daemon configuration. See the {{Ic|GatewayPorts}} option in {{Ic|sshd_config(5)}} for more information.<br />
<br />
=== تسريع ssh ===<br />
يُمكنك جعل جميع الجلسات الى الخادم نفسه تستخدم إتصالًا واحدًا، هذا يؤدي الى تسريع عملية الولوج، وذلك بإضافة السطور التالية تحت اسم المُضيف المُناسب في ملف {{ic|/etc/ssh/ssh_config}} :<br />
<div align=left dir=ltr><br />
ControlMaster auto<br />
ControlPath ~/.ssh/socket-%r@%h:%p<br />
</div><br />
<br />
تغيير خوارزمية التشفير المُستخدمة من قبل ssh تُساعد بشكل كبير على تحسين السرعة. في هذا المجال أفصل الخيارات هي arcfour و blowfish-cbc، رجاءً لا تقم بتغييرها إلا إذا كنت تعلم ما تفعله، لخوارزمية arcfour عدد من الجوانب الضعيفة. لإستخدمهم قم بتنفيذ التعليمة التالية :<br />
<br />
$ ssh -c arcfour,blowfish-cbc user@server-address<br />
لإستخدامها بشكل دائم، ضع هذا السطر تحت اسم المضيف المناسب في ملف {{ic|/etc/ssh/ssh_config}}:<br />
Ciphers arcfour,blowfish-cbc<br />
خيار آخر لكي تُحسن من سرعة SSH هو تفعيل خيار الضغط بإستخدام راية {{Ic|"C"}}. ولتفعيل هذه الميزة دومًا قم بإضافة السطر التالي تحت اسم المُضيف المُناسب في ملف {{ic|/etc/ssh/ssh_config}}:<br />
Compression yes<br />
الوقت الآزم لتسجيل الدخول يُمكن أن يُقلل بإستخدام الراية {{Ic|"4"}}، التي تقوم بتجاوز البحث ببروتوكول IPv6. يُمكن تفعيل هذه الميزة بشكل دائم عن طريق إضافة السطر التالي تحت اسم المُضيف المناسب في ملف {{ic|/etc/ssh/ssh_config}}:<br />
AddressFamily inet<br />
طريقة اخرى لتفعيل هذه الخيارات بشكل دائم هي إنشاء مكافئ في ملف {{ic|~/.bashrc}}:<br />
alias ssh='ssh -C4c arcfour,blowfish-cbc'<br />
<br />
=== وصل نظام ملفات خاص بحاسب بعيد عن طريق sshfs ===<br />
يرجى الرجوع الى مقال [[Sshfs]] لمعرفة المزيد حول وصل نظام الملفات خاص بحاسب بعيد -قابل للوصول عبر ssh- الى مجلد محلي. يمكنك القيام بأي تعليمة وبأي أداة على الملفات الموصولة (نسخ، إعداة تسمية، تعديل بمُحرر vim...الخ). استخدم sshfs عوضًا عن shfs (لم يتم إصدار نسخة جديدة منه منذ 2004 !).<br />
<br />
=== إبقاء الإتصال مفتوحًا ===<br />
جلسة ssh الخاصة بك سوف تقوم بتسجيل الخروج عندما لا يتم إستخدمها، لإبقاء الإتصال مفتوحًا قم بإضافة السطر التالي لأحد الملفين {{ic|~/.ssh/config}} أو {{ic|/etc/ssh/ssh_config}} في جهاز العميل :<br />
<div align=left dir=ltr><br />
ServerAliveInterval 120<br />
</div><br />
<br />
السطر السابق يقوم بإرسال إشارة "keep alive" كل 120 ثانية.<br />
<br />
وبشكل آخر يمكن إبقاء الإتصالات مفتوحة عن طريق تعيين القيمة 120 أو أي رقم آخر أكبر من 0 في ملف {{ic|/etc/ssh/sshd_config}} على الخادم، كالتالي :<br />
<div align=left dir=ltr><br />
ClientAliveInterval 120<br />
</div><br />
<br />
=== حفظ بيانات الإتصال في ملف إعدادات ssh ===<br />
عندما تقوم بالولوج الى خادم ssh، فإنك ستقوم بإدخال اسم المستخدم وعنوان الخادم على الأقل. إذا أردت توقير هذا الوقت; يمكنك استخدام الملف {{ic|$HOME/.ssh/config}} الخاص بك، أو الملف العام {{ic|/etc/ssh/ssh_config}} كما في المثال التالي :<br />
<div align=left dir=ltr><br />
{{hc|$HOME/.ssh/config|<br />
Host myserver<br />
HostName 123.123.123.123<br />
Port 12345<br />
User bob<br />
Host other_server<br />
HostName test.something.org<br />
User alice<br />
CheckHostIP no<br />
Cipher blowfish<br />
}}<br />
</div><br />
الآن يمكنك الإتصال بالخادم عن طريق الأمر التالي :<br />
<div align=left dir=ltr><br />
$ ssh myserver<br />
</div><br />
<br />
للإطلاع على القائمة الكاملة للخيارات التي تستطيع إستخدمها يمكنك الرجوع الى صفحة الدليل الخاصة بـ ssh_config أو مقال[http://www.openbsd.org/cgi-bin/man.cgi?query=ssh_config ssh_config documentation] الموجود في الموقع الرسمي.<br />
<br />
=== إعادة تشغيل جلسات و انفاق ssh تلقائيًا - Autossh ===<br />
عندما يتعذر إبقاء جلسة أو نفق ssh مفتوحًا (على سبيل المثال أوضاع الشبكة سيئة تؤدي الى إنقطاع الإتصال بخادم ssh...)، يمكنك إستخدام الحزمة Autossh لإعادة الإتصال تلقائيًاـ حزمة Autossh يمكن تنصيبها من المستودعات الرسمية.<br />
<br />
أمثلة عن طرق الإستخدام :<br />
<div align=left dir=ltr><br />
$ autossh -M 0 -o "ServerAliveInterval 45" -o "ServerAliveCountMax 2" username@example.com<br />
</div><br />
مدمجة مع خدمة [[ sshfs ]]:<br />
<div align=left dir=ltr><br />
$ sshfs -o reconnect,compression=yes,transform_symlinks,ServerAliveInterval=45,ServerAliveCountMax=2,ssh_command='autossh -M 0' username@example.com: /mnt/example <br />
</div><br />
الإتصال بواسطة وسيط SOCKS :<br />
<div align=left dir=ltr><br />
$ autossh -M 0 "ServerAliveInterval 45" -o "ServerAliveCountMax 2" -NCD 8080 username@example.com <br />
</div><br />
عند إستخدام الخيار -f، Autossh سيتم تشغيله كعملية في الخلفية، تشغيله بهذه الطريقة يعني أنظ لا تستطيع إدخال معلومات الإتصال بشكل تفاعلي.<br />
سيتم إنهاء الجلسة فقط عندما تتم كتابة exit أو عندما تتلقى Autossh إشارة SIGTERM, SIGINT , SIGKILL<br />
<br />
إذا أردت تشغيل autossh تلقائيًا، يُمكنك وبسهولة استخدام systemd، فعلى سبيل المثال يُمكنك إنشاء ملف واحدة خاص بخدمة systemd على الشكل التالي :<br />
<div align=left dir=ltr><br />
[Unit]<br />
Description=AutoSSH service for port 2222<br />
After=network.target<br />
<br />
[Service]<br />
ExecStart=/usr/bin/autossh -M 0 2222:localhost:2222 foo@bar.com<br />
</div><br />
ومن ثم قم بوضعها في ملف -وعلى سبيل المثال- /etc/systemd/system/system/autossh.service، بالطبع يُمكنك إنشاء ملف واحدة أكثر تعقيدًا إذا كان ذلك ضروريًا (يُمكنك الرجوع الى التوثيق الخاص بخدمة systemd لمزيد من التفاصيل)، وبكل تأكيد يُمكنك إستخدام الخيارات الخاصة بك في autossh.<br />
<br />
ومن ثم قم بتفعيل أنفاق autossh كالتالي :<br />
<div align=left dir=ltr><br />
$ systemctl start autossh<br />
</div><br />
(أو حسب ما قمُت بتسمية ملف الواحدة)<br />
<br />
من المُمكن أيضًا التعامل مع عدة عمليات autossh سويًا، وذلك لإبقاء الإتصال مفتوحًا في عدة أنفاق. عليك فقط إنشاء ملفات .service متعددة ذات أسماء مُختلفة.<br />
<br />
== إستكشاف الأخطاء وإصلاحها ==<br />
=== الإتصالات تُرفض أو تنتهي مدتها ===<br />
<br />
==== هل الراوتر لديك يقوم بتمرير المنافذ؟ ====<br />
<br />
قم بتجاوز هذه الخطوة إذا كنت خلف NAT modem/router. (على سبيل المثال VPS أو غيره). أغلب المنازل أو الشركات الصغيرة يكون لديها NAT modem/router.<br />
<br />
أو شيئ يجب التحقق منه هو أن الراوتر لديك يقوم بتمرير إتصالات ssh القادمة الى جهازك المحلي. عنوان IP الخارجي الذي تم إعطاؤه لك من قبل مزود خدمة الإنترنت، وهو نفس العنوان الذي يتم ربطه مع الطلبات الخاجية من قبل الراوتر لديك. لذا يجب على الراوتر أن يعلم أن إتصالات SSH القادمة يجب أن يتم تمريرها الى خدمة sshd في جهازك المحلي.<br />
<br />
قم بمعرفة عنوان ip الخاص بجهازك في الشبكة المحلية :<br />
<div align=left dir=ltr><br />
ip a<br />
</div><br />
قم بالبحث عن الحقل الخاص بقيمة inet. ومن ثم قم بالدخول الى لوحة الإعدادات الخاصة بالراوتر لديك مُستخدمًا عنوان IP الخاص به. قم بإخبار الراوتر لديك بأن يقوم بتمرير الإتصالات الى عنوان inet IP قم بزيارة موقع [http://portforward.com/] لمزيد من المعلومات حول كيفية تمرير المنافذ في الراوتر الخاص بك.<br />
<br />
==== هل خدمة ssh تعمل؟ ====<br />
<div align=left dir=ltr><br />
$ ss -tnlp<br />
</div><br />
إذا لم تُظهر التعليمة السابقة أن منفذ ssh مفتوح فإن خدمة ssh لا تعمل، قم بالتحقق من ملف {{ic|/var/log/messages}} للحصول على الأخطاء.<br />
<br />
==== هل يقوم الجدار الناري الخاص بك بحجب الإتصالات ؟ ====<br />
{{out of date|rc.d is deprecated with systemd}}<br />
Flush your iptables rules to make sure they are not interfering:<br />
<div align=left dir=ltr><br />
# rc.d stop iptables<br />
</div><br />
أو:<br />
<div align=left dir=ltr><br />
# iptables -P INPUT ACCEPT<br />
# iptables -P OUTPUT ACCEPT<br />
# iptables -F INPUT<br />
# iptables -F OUTPUT<br />
</div><br />
==== هل يصل الإتصال أساسًا الى جهازك؟ ====<br />
قم بعمل traffic dump في الجهاز الذي تواجه فيه المشاكل بإستخدام التعليمة التالية:<br />
<div align=left dir=ltr><br />
# tcpdump -lnn -i any port ssh and tcp-syn<br />
</div><br />
سيتم إظهار بعض المعلومات البسيطة، الآن قم بتجربة الإتصال. إذا لم تشاهد أي مخرجات خلال عملية الإتصال, فهذا يعني أن شيئاً ما خارج جهازك يمنع الإتصال (على بسيل المثال : جدار ناري خارجي أو NAT راوتر).<br />
<br />
==== هل يقوم مزود الخدمة الخاص بك أو أي جهة اخرى بحجب المنفذ الإفتراضي ؟ ====<br />
{{Note|قم بتجريب الخطوة التالية فقط إذا كنت '''متأكدًا''' من أنك لا تستخدم أي جدار ناري وقمت بإعداد الراوتر لديك إعدادًا صحيحًا وذلك بتمرير المنفذ الى جهازك المحلي.}}<br />
<br />
في بعض الحالات، يقوم مزود الخدمة الخاص بك بحجب المنفذ الإفتراضي 22 لذا مهما حاولت من طرق فهي لن تُجدي نفعًا.<br />
<br />
إذا واجهتك رسالة شبيهة بالرسالة التالية :<br />
<div align=left dir=ltr><br />
ssh: connect to host www.inet.hr port 22: Connection refused<br />
</div><br />
فهذا لا يعني أن المنفذ قم تم حجبه من قبل مزود الخدمة، بل أن الخادم لا يُشغل خدمة SSH على هذا المنفذ(راجع [http://en.wikipedia.org/wiki/Security_through_obscurity security through obscurity]).<br />
<br />
أما إذا واجهت رسالة كالرسالة التالية :<br />
<div align=left dir=ltr><br />
ssh: connect to host 111.222.333.444 port 22: Operation timed out <br />
</div><br />
هذا يعني أن هنالك شيئ يمنع إتصال TCP على المنفذ 22. إذا كنت متأكدًا تمامًا من الإعداد الصحيح للجدار الناري و/أو الراوتر، فإن ذلك يعني أن المنفذ محجوب من قبل مزود الخدمة.<br />
<br />
To double check, you can run Wireshark on your server and listen to traffic on port 22. Since Wireshark is a Layer 2 Packet Sniffing utility, and TCP/UDP are Layer 3 and above (See [http://en.wikipedia.org/wiki/TCP/IP_model IP Network stack]), if you don't receive anything while connecting remotely, a third party is most likely to be blocking the traffic on that port to your server.<br />
<br />
===== Diagnosis via Wireshark =====<br />
[[pacman|Install]] Wireshark with the {{Pkg|wireshark-cli}} package, available in the [[official repositories]].<br />
<br />
And then run it using,<br />
tshark -f "tcp port 22" -i NET_IF<br />
<br />
where NET_IF is the network interface for a WAN connection (see {{ic|ip a}} to check). If you aren't receiving any packets while trying to connect remotely, you can be very sure that your ISP is blocking the incoming traffic on port 22.<br />
<br />
===== Possible solution =====<br />
The solution is just to use some other port that the ISP isn't blocking. Open the {{ic|/etc/ssh/sshd_config}} and configure the file to use different ports. For example, add:<br />
<br />
Port 22<br />
Port 1234<br />
<br />
Also make sure that other "Port" configuration lines in the file are commented out. Just commenting "Port 22" and putting "Port 1234" won't solve the issue because then sshd will only listen on port 1234. Use both lines to run the SSH server on both ports. <br />
<br />
Restart the server {{ic|systemctl restart sshd.service}} and you're almost done. You still have to configure your client(s) to use the other port instead of the default port. There are numerous solutions to that problem, but let's cover two of them here.<br />
<br />
==== مشكلة Read from socket failed: connection reset by peer ====<br />
الإصدارات التي اطلقت مؤخرًا من openssh تفشل في بعض الأحيان مخرجةً رسالة خطأ كالرسالة السابقة بسبب وجود علّة في خاصية التشفير فيها. في هذه الحالة قم بإضافة السطر التالي الى ملف {{ic|~/.ssh/config}}:<br />
<br />
HostKeyAlgorithms ssh-rsa-cert-v01@openssh.com,ssh-dss-cert-v01@openssh.com,ssh-rsa-cert-v00@openssh.com,ssh-dss-cert-v00@openssh.com,ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,ssh-rsa,ssh-dss<br />
<br />
في إصدار openssh 5.9 السطر السابق لا يقوم بحل المشكلة. لذا قم بوضع السطور التالية في ملف {{ic|~/.ssh/config}}:<br />
<br />
Ciphers aes128-ctr,aes192-ctr,aes256-ctr,aes128-cbc,3des-cbc <br />
MACs hmac-md5,hmac-sha1,hmac-ripemd160<br />
<br />
راجع أيضًا [http://www.gossamer-threads.com/lists/openssh/dev/51339 discussion] في مركز علل openssh<br />
<br />
=== "[الصدفة التي تستخدمها]: No such file or directory" ===<br />
One possible cause for this is the need of certain SSH clients to find an absolute path (one returned by {{Ic|whereis -b [your shell]}}, for instance) in {{Ic|$SHELL}}, even if the shell's binary is located in one of the {{Ic|$PATH}} entries. Another reason can be that the user is no member of the ''network'' group.<br />
<br />
===ظهور رسالة الخطأ "Terminal unknown" أو "Error opening terminal"===<br />
من الممكن عند إستخدام ssh الحصول على أخطاء من من قبيل "Terminal unknown" عندما تحاول تسجيل الدخول. بدء بعض التطبيقات كتطبيق nano يفشل مُظهرًا الرسالة "Error opening terminal". يوجد طريقتين لحل المشاكل من هذا النوع، الطريقة السلهة هي إستخدام المُتغير $TERM، أو باستخدام ملف terminfo.<br />
<br />
====الحل بواسطة المتغير $TERM====<br />
بعد الإتصال الى الخادم، قم بتحديد قيمة المتغير $TERM الى "xterm" مُستخدمًا التعليمة التالية :<br />
<div align=left dir=ltr><br />
{{ic|TERM&#61;xterm}}<br />
</div><br />
هذا الحل يحوي على بعض المشاكل الجانبية. ويتوجب عليك أيضًا أن تقوم بتكرار هذه التعليمة كل مرة تقوم فيها بتسجيل الدخول الى الخادم. أو بشكل بديل يمكنك وضعها في ملف ~.bashrc .<br />
====الحل بإستخدام ملف terminfo====<br />
حل آخر هو نقل ملف terminfo من جهازك المحلي الى الخادم. في هذا المثال سنقوم بشرح كيفية تهيئة ملف terminfo من أجل طرفية من نوع "rxvt-unicode-256color".<br />
قم بإنشاء مجلد يحوي على ملفات terminfo في خادم ssh، عندما تقوم بتسجيل الدخول الى الخادم قم بإستخدام هذه التعليمة :<br />
<div align=left dir=ltr><br />
<br />
{{ic| mkdir -p ~/.terminfo/r/}}<br />
<br />
</div><br />
<br />
الآن قم بنسخ ملف terminfo الخاص بالطرفيتك الى المجلد الجديد. مُستبدلًا ''"rxvt-unicode-256color"'' بالطرفية الخاصة بك في التعليمة التالية و ''ssh-server'' بإسم المستخدم وعنوان الخادم الخاصين بك<br />
<br />
<div align=left dir=ltr><br />
{{ic|$ scp /usr/share/terminfo/r/''rxvt-unicode-256color'' ssh-server:~/.terminfo/r/}}<br />
<br />
</div><br />
بعدما تقوم بتسجيل الخروج ومن ثم تسجيل الدخول مُجددًا، تكون المشكلة قد حُلّت.<br />
<br />
== شاهد أيضًا ==<br />
*[[SSH Keys]]<br />
*[[Pam abl]]<br />
*[[fail2ban]]<br />
*[[sshguard]]<br />
*[[Sshfs]]<br />
*[[Syslog-ng]] : لإرسال log الخاص بـ ssh الى ملف<br />
<br />
== Links & references ==<br />
*[http://www.soloport.com/iptables.html A Cure for the Common SSH Login Attack]<br />
*[http://www.la-samhna.de/library/brutessh.html Defending against brute force ssh attacks]<br />
*[http://www.ibm.com/developerworks/library/l-keyc/index.html OpenSSH key management, Part 1] and [http://www.ibm.com/developerworks/library/l-keyc2 Part 2] on IBM developerWorks<br />
</div></div>Abd allatifhttps://wiki.archlinux.org/index.php?title=Secure_Shell_(%D8%A7%D9%84%D8%B9%D8%B1%D8%A8%D9%8A%D8%A9)&diff=262270Secure Shell (العربية)2013-06-11T05:27:27Z<p>Abd allatif: </p>
<hr />
<div>[[Category:Secure Shell (العربية)]]<br />
[[Category:العربية]]<br />
[[Category:Networking (العربية)]]<br />
[[es:Secure Shell]]<br />
[[de:SSH]]<br />
[[fr:ssh]]<br />
[[it:Secure Shell]]<br />
[[ko:Secure Shell]]<br />
[[pl:Secure Shell]]<br />
[[pt:Secure Shell]]<br />
[[ru:Secure Shell]]<br />
[[sr:Secure Shell]]<br />
[[zh-CN:Secure Shell]]<br />
<div align=right dir=rtl><br />
'''الصدفة الآمنة''' ('''SSH''') هي بروتوكول من بروتوكولات الشبكة التي تسمح بتبادل البيانات عبر محطة آمنة بين حاسبين مختلفين, التشفير يضمن سرية المعلومات. إن ssh يستخدم التعمية يالمفتاح العمومي لكي يتم الإستيثاق بالحاسب الذي يقوم بإجراء الإتصال وللسماح بالإستيثاق من المستخدم إذا كان ذلك ضروريًا.<br />
<br />
بشكل عام تُستخدم ssh للولوج الى حاسب عن بعد و تنفيذ, لكنها أيضًا تدعم إنشاء لأنفاق الآمنة بالإضافة الى تمرير المنافذ و إتصالات X11 ونقل الملفات يمكن أن يتم يإستخدام بروتوكول sftp أو بروتوكول scp.<br />
<br />
إن خادم ssh بشكل إفتراضي يقوم بإستقبال الإتصالات عبر المنفذ الإفتراضي 22 tcp, عميل ssh هو عبارة عن برنامج يُستخدم لإنشاء إتصال الى خدمة ssh في حال تم إعداده لقبول الإتصالات. كلاهما يتوفر بشكل كبير في الأنظمة الشهيرة كنظام Mac OS X, GNU/Linux, Solaris و OpenVMS. برامج مملوكة و مفتوحة المصدر بمختلف الإصدارات ومختلف مراحل التعقيد و الكمالية متوفرة في الوقت الراهن.<br />
<br />
(Source: [[Wikipedia:Secure Shell]])<br />
<br />
== OpenSSH ==<br />
إن openssh (OpenBSD Secure Shell) هو مجموعة من برامج الحاسب التي توفر وسيلة تواصل مشفرة بين شبكة من الحواسيب بإستخدام بروتوكول ssh, تم تطويرها لتُشكل بديلاً عن برمجيات الصدفة الآمنة المملوكة التي تم تطويرها بواسطة SSH Communications Security. إن openSSH تم تطويرها كجزء من مشروع OpenBSD الذي كان بقيادة Theo de Raadt.<br />
<br />
عادةً ما يتم الخلط بين openSSH و بين OpenSSL, كلا المشروعين لديه هدفه الخاص ولا علاقة له بالمشروع الآخر, لكن تشابه الأسماء يشير فقط الى التشابه في الهدف الذي هو توفير بدلا مفتوح المصدر عن البرمجيات المملوكة.<br />
<br />
=== Installing OpenSSH ===<br />
قم بتنصيب حزمة OpenSSH من المستودعات الرسمية<br />
=== تهيئة إعدادات ssh ===<br />
====العميل====<br />
إن ملفي الإعدادات الخاصين بعميل ssh هما {{ic|/etc/ssh/ssh_config}} أو {{ic|~/.ssh/config}}.<br />
<br />
مثال عن ملف الإعدادت :<br />
<div align=left dir=ltr><br />
{{hc|/etc/ssh/ssh_config|<br />
# $OpenBSD: ssh_config,v 1.26 2010/01/11 01:39:46 dtucker Exp $<br />
<br />
# This is the ssh client system-wide configuration file. See<br />
# ssh_config(5) for more information. This file provides defaults for<br />
# users, and the values can be changed in per-user configuration files<br />
# or on the command line.<br />
<br />
# Configuration data is parsed as follows:<br />
# 1. command line options<br />
# 2. user-specific file<br />
# 3. system-wide file<br />
# Any configuration value is only changed the first time it is set.<br />
# Thus, host-specific definitions should be at the beginning of the<br />
# configuration file, and defaults at the end.<br />
<br />
# Site-wide defaults for some commonly used options. For a comprehensive<br />
# list of available options, their meanings and defaults, please see the<br />
# ssh_config(5) man page.<br />
<br />
# Host *<br />
# ForwardAgent no<br />
# ForwardX11 no<br />
# RhostsRSAAuthentication no<br />
# RSAAuthentication yes<br />
# PasswordAuthentication yes<br />
# HostbasedAuthentication no<br />
# GSSAPIAuthentication no<br />
# GSSAPIDelegateCredentials no<br />
# BatchMode no<br />
# CheckHostIP yes<br />
# AddressFamily any<br />
# ConnectTimeout 0<br />
# StrictHostKeyChecking ask<br />
# IdentityFile ~/.ssh/identity<br />
# IdentityFile ~/.ssh/id_rsa<br />
# IdentityFile ~/.ssh/id_dsa<br />
# Port 22<br />
# Protocol 2,1<br />
# Cipher 3des<br />
# Ciphers aes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,aes128-cbc,3des-cbc<br />
# MACs hmac-md5,hmac-sha1,umac-64@openssh.com,hmac-ripemd160<br />
# EscapeChar ~<br />
# Tunnel no<br />
# TunnelDevice any:any<br />
# PermitLocalCommand no<br />
# VisualHostKey no<br />
# ProxyCommand ssh -q -W %h:%p gateway.example.com<br />
}}<br />
</div><br />
من المُفضل تغيير السطر الخاص بنوع البروتوكول الى السطر التالي :<br />
Protocol 2<br />
<br />
هذا يعني أن البروتوكول 2 سيتم إستخدامه فقط، لأن البروتوكول 1 يتم إعتباره غير آمنة بالمقارنة من البروتوكول 2.<br />
<br />
====خدمة ssh====<br />
يمكن الحصول وتعديل على إعدادات خدمة ssh في الملف {{ic|/etc/ssh/ssh'''d'''_config}}.<br />
<br />
مثال عن ملف الإعدادات :<br />
<div align=left dir=ltr><br />
{{hc|/etc/ssh/sshd_config|2=<br />
# $OpenBSD: sshd_config,v 1.82 2010/09/06 17:10:19 naddy Exp $<br />
<br />
# This is the sshd server system-wide configuration file. See<br />
# sshd_config(5) for more information.<br />
<br />
# This sshd was compiled with PATH=/usr/bin:/bin:/usr/sbin:/sbin<br />
<br />
# The strategy used for options in the default sshd_config shipped with<br />
# OpenSSH is to specify options with their default value where<br />
# possible, but leave them commented. Uncommented options change a<br />
# default value.<br />
<br />
#Port 22<br />
#AddressFamily any<br />
#ListenAddress 0.0.0.0<br />
#ListenAddress ::<br />
<br />
# The default requires explicit activation of protocol 1<br />
#Protocol 2<br />
<br />
# HostKey for protocol version 1<br />
#HostKey /etc/ssh/ssh_host_key<br />
# HostKeys for protocol version 2<br />
#HostKey /etc/ssh/ssh_host_rsa_key<br />
#HostKey /etc/ssh/ssh_host_dsa_key<br />
#HostKey /etc/ssh/ssh_host_ecdsa_key<br />
<br />
# Lifetime and size of ephemeral version 1 server key<br />
#KeyRegenerationInterval 1h<br />
#ServerKeyBits 1024<br />
<br />
# Logging<br />
# obsoletes QuietMode and FascistLogging<br />
#SyslogFacility AUTH<br />
#LogLevel INFO<br />
<br />
# Authentication:<br />
<br />
#LoginGraceTime 2m<br />
#PermitRootLogin yes<br />
#StrictModes yes<br />
#MaxAuthTries 6<br />
#MaxSessions 10<br />
<br />
#RSAAuthentication yes<br />
#PubkeyAuthentication yes<br />
#AuthorizedKeysFile .ssh/authorized_keys<br />
<br />
# For this to work you will also need host keys in /etc/ssh/ssh_known_hosts<br />
#RhostsRSAAuthentication no<br />
# similar for protocol version 2<br />
#HostbasedAuthentication no<br />
# Change to yes if you do not trust ~/.ssh/known_hosts for<br />
# RhostsRSAAuthentication and HostbasedAuthentication<br />
#IgnoreUserKnownHosts no<br />
# Don't read the user's ~/.rhosts and ~/.shosts files<br />
#IgnoreRhosts yes<br />
<br />
# To disable tunneled clear text passwords, change to no here!<br />
#PasswordAuthentication yes<br />
#PermitEmptyPasswords no<br />
<br />
# Change to no to disable s/key passwords<br />
ChallengeResponseAuthentication no<br />
<br />
# Kerberos options<br />
#KerberosAuthentication no<br />
#KerberosOrLocalPasswd yes<br />
#KerberosTicketCleanup yes<br />
#KerberosGetAFSToken no<br />
<br />
# GSSAPI options<br />
#GSSAPIAuthentication no<br />
#GSSAPICleanupCredentials yes<br />
<br />
# Set this to 'yes' to enable PAM authentication, account processing, <br />
# and session processing. If this is enabled, PAM authentication will <br />
# be allowed through the ChallengeResponseAuthentication and<br />
# PasswordAuthentication. Depending on your PAM configuration,<br />
# PAM authentication via ChallengeResponseAuthentication may bypass<br />
# the setting of "PermitRootLogin without-password".<br />
# If you just want the PAM account and session checks to run without<br />
# PAM authentication, then enable this but set PasswordAuthentication<br />
# and ChallengeResponseAuthentication to 'no'.<br />
UsePAM yes<br />
<br />
#AllowAgentForwarding yes<br />
#AllowTcpForwarding yes<br />
#GatewayPorts no<br />
#X11Forwarding no<br />
#X11DisplayOffset 10<br />
#X11UseLocalhost yes<br />
#PrintMotd yes<br />
#PrintLastLog yes<br />
#TCPKeepAlive yes<br />
#UseLogin no<br />
#UsePrivilegeSeparation yes<br />
#PermitUserEnvironment no<br />
#Compression delayed<br />
#ClientAliveInterval 0<br />
#ClientAliveCountMax 3<br />
#UseDNS yes<br />
#PidFile /var/run/sshd.pid<br />
#MaxStartups 10<br />
#PermitTunnel no<br />
#ChrootDirectory none<br />
<br />
# no default banner path<br />
#Banner none<br />
<br />
# override default of no subsystems<br />
Subsystem sftp /usr/lib/ssh/sftp-server<br />
<br />
# Example of overriding settings on a per-user basis<br />
#Match User anoncvs<br />
# X11Forwarding no<br />
# AllowTcpForwarding no<br />
# ForceCommand cvs server<br />
}}<br />
</div><br />
لكي يتم السماح بالولوج فقط لمُستخدمين مُحددين، قم بإضافة السطر التالي الى ملف الإعدادت :<br />
<div align=left dir=ltr><br />
AllowUsers user1 user2<br />
</div><br />
<br />
ولإلغاء تفعيل دخول المستخدم الجذر root مباشرةً عبر خدمة ssh، قم بتعديل قمية الخاصية PermitRootLogin الى التالي :<br />
<div align=left dir=ltr><br />
PermitRootLogin no<br />
</div><br />
<br />
ولكي تُضيف رسالة ترحيب، قم بتعديل ملف {{ic|/etc/issue}} ومن ثم قم بتعديل السطر الخاص بالقيمة Banner الى التالي :<br />
<div align=left dir=ltr><br />
Banner /etc/issue<br />
</div><br />
<br />
{{تلميح : لربما تريد تغيير المنفذ الإفتراضي من 22 الى رقم منفذ أعلى منه (يُمكنك الرجوع الى المقال security through obscurity) (راجع [http://en.wikipedia.org/wiki/Security_through_obscurity security through obscurity]).}} <br />
<br />
وعلى الرغم من أن منفذ ssh يُمكن الكشف عنه بسهولةبإحدى أدوات المسح الخاصة بالشبكات nmap، لكن تغييره سيُفيد بتقليل عدد محاولات الدخول المؤتمتة، للمساعدة في إختيار رقم منفذ مناسب قم بمراجعة المقال التالي [[Wikipedia:List of TCP and UDP port numbers|list of TCP and UDP port numbers]].<br />
<br />
{{Tip|إلغاء تفعيل الدخول عن طريق كلمات المرور ستُزيد بشكل كبير من الأمان راجع مقال [[SSH Keys]] لمزيد من المعلومات.}}<br />
<br />
=== إدارة خدمة ssh ===<br />
يمكن بدء خدمة ssh بإستخدام التعلمية التالية :<br />
<div align=left dir=ltr><br />
# systemctl start sshd<br />
</div><br />
<br />
ويمكن تفعيل تشغيل خدمة ssh عند بدء تشغيل النظام بواسطة التعليمة التالية : # systemctl enable sshd.service<br />
<br />
{{تحذير|إن Systemd هو غير متزامن في بدء العمليات، لذا فإذا قُمت بتحديد خدمة ssh الى عنوان ip مُحدد ListenAddress 192.168.1.100، فيمكن أن تفشل في البدء أثناء الإقلاع، يُمكن حل هذه المشكلة بإضافة After&#61;network.target الى ملف الواحدة المُخصص، قم بمراجعة [[Systemd#Replacing provided unit files]].}}<br />
<br />
أو أن تقوم ببدء تشغيل خدمة ssh عند أول إتصال تتلقاه :<br />
# systemctl enable sshd.socket<br />
إذا كنت تستخدم منفذ غير منفذ 22 الإفتراضي، عليك وضع القيمة "ListenStream" في ملف الوحدة<br />
في ملف /etc/systemd/system/sshd.socket قم بتغيير القيمة "ListenStream" الى المنفذ المناسب.<br />
<br />
=== الإتصال بالخادم ===<br />
لكي تقوم بالإتصال بالخادم قم بتنفيذ التعليمة التالية :<br />
<div align=left dir=ltr><br />
$ ssh -p port user@server-address<br />
</div><br />
<br />
== عملاء و خوادم ssh الاخرى ==<br />
بعيدًا عن OpenSSH؛ يوجد هناك العديد من عملاء و خوادم ssh متاحة للإستخدام [[Wikipedia:Comparison of SSH clients|clients]] و [[Wikipedia:Comparison of SSH servers|servers]].<br />
<br />
=== Dropbear ===<br />
[[Wikipedia:Dropbear (software)|Dropbear]] هو خادم وعميل ssh-2. حزمة {{AUR|dropbear}} متوفرة في [[AUR]].<br />
<br />
إن عميل ssh الخاص بموجه الأوامر يُسمى dbclient.<br />
<br />
=== Mosh بديل SSH ===<br />
الجملة التالية مقتبسة من موقع [http://mosh.mit.edu/ mosh]:<br />
تطبيق يسمح بالإتصال عبر طرفية بعيدة, يدعم الإتصالات المتقطعة, ويقدم طريقة ذكية للتعديل السطري لكتابات المستخدم. Mosh هو بديل لخدمة ssh. هو أكثر قوة وإستجابة وخصوصًا عبر شبكات Wi-Fi, cellular و الشبكات بعيدة المدى.<br />
<br />
يمكنك تنصيب {{Pkg|mosh}} من المستودعات الرسمية، أو آخر نسخة {{AUR|mosh-git}} من [[AUR]].<br />
<br />
== تلمحيات ==<br />
<br />
=== Encrypted SOCKS tunnel ===<br />
هذه التلميحة مُفيدة جدًا لمستخدمي الحواسيب المُحمولة الذين يتصلون بشبكات WiFi غير آمنة. الشيء الوحيد الذي ستحتاج إليه هو خادم ssh يعمل في مكان آمن (العمل أو المنزل). من المفيد إستخدام خدمة DNS ديناميكية :[http://www.dyndns.org/ DynDNS] كمثال، لذا فلن تحتاج الى تذكر عنوان IP الخاص بك.<br />
<br />
==== الخطوة الولى : قم ببدء الإتصال ====<br />
عليك فقط تنفيذ التعليمة التالية لكي تقوم ببدء الإتصال بخادم ssh : $ ssh -TND 4711 user@host<br />
حيث {{Ic|"user"}} هو اسم المستخدم الخاص بك على الخادم {{Ic|"host"}}، سوف يتم سؤالك عن كلمة المرور الخاصة بك. بعد ذلك تكون قد قمت بالإتصال بنجاح. الراية {{Ic|"N"}} fتقوم بإلغاء تفعيل موجه الأوامر التفاعلي بينما الراية D تقوم بتحديد منفذ محلي يمكنك الإتصال منه (تستطيع إختيار أي رقم تريده). الراية {{Ic|"T"}} تقوم بإلغاء تفعيل حصة pseudo-tty.<br />
<br />
من المفيد استخدام الراية {{Ic|"-v"}} لأنها تسمح لك من التأكد من أن عملية الإتصال تمت بنجاح من المخرجات.<br />
<br />
==== الخطوة الثانية : إعداد المتصفح (أو بقية البرامج) ====<br />
الخطوة السابقة عديمة الجدوى تمامًا إن لم تقترن بالإعداد الصحيح لمتصفح الويب -أو أي برنامج آخر- لإستخدام انبوب socks الذي قمنا بإنشاءه.<br />
وبما أن النسخة الحالية من ssh تدعم SOCKS4 و SOCKS5 فيمكنك إستخدام أي منهما.<br />
<br />
لإعداد متصفح firefox : في البداية قم بالدخول الى Edit → Preferences → Advanced → Network → Connection → Setting :<br />
قم بتحديد الخيار "Manual proxy configuration" وقم بإدخال القيمة "localhost" في مربع النص المُعنون "SOCKS host" ومن ثم قم بإدخال رقم المنفذ الذي قمت بتحديده في الخطوة السابقة (تم إستخدام 4711)<br />
<br />
متصفح firefox لا يقوم بشكل تلقائي بعمل طلبات DNS عبر انبوب socks، هذا الأمر قد يُعرض خصوصيتك للخر لذا قم بعمل الخطوات التالية :<br />
<br />
- قم بطلب الصفحة about:config في شريط العنوان الخاص بمتصفح firefox<br />
- ابحث عن الراية network.proxy.socks_remote_dns<br />
- قم بتحديد true كقيمة لهذه الراية<br />
- قم بإعادة تشغيل المتصفح<br />
<br />
وأما مُتصفح Chromium فيمكنك تحديد إعدادات socks كمتغيرات خاصة بالبيئة أو بإستخدامها كوسيط في سطر الأوامر، أنا أفضل إضافة إحدى الدالتين الى ملف {{ic|.bashrc}} الخاص بك :<br />
<div align=left dir=ltr><br />
function secure_chromium {<br />
port=4711<br />
export SOCKS_SERVER=localhost:$port<br />
export SOCKS_VERSION=5<br />
chromium &<br />
exit<br />
}<br />
</div><br />
أو<br />
<div align=left dir=ltr><br />
function secure_chromium {<br />
port=4711<br />
chromium --proxy-server="socks://localhost:$port" &<br />
exit<br />
}<br />
</div><br />
<br />
الآن قم بفتح نافذة الطرفية و نفذ الأمر التالي :<br />
<div align=left dir=ltr><br />
$ secure_chromium<br />
</div><br />
<br />
=== تمرير X11 ===<br />
إذا أردت تشغيل برمجيات رسومية عبرإتصال ssh، يتوجب عليك تفعيل خيار تمرير X11 في ملفات الإعدادات في الخادم و العميل (هنا "العميل" هو الجهاز الذي يعمل عليه خادم X11 و يقوم بالإتصال بخدمات X11 من جهاز "الخادم").<br />
<br />
قم بتنصيب الحزمة {{Pkg|xorg-xauth}} من المستودعات الرسمية الى الخادم<br />
<br />
قم بتفعيل الخيار AllowTcpForwarding في ملف {{ic|ssh'''d'''_config}} على الخادم<br />
قم بتفعيل الخيار X11Forwarding في ملف {{ic|ssh'''d'''_config}} على الخادم<br />
قم بتحديد قيمة الخيار X11DisplayOffset في ملف {{ic|ssh'''d'''_config}} على الخادم الى الرقم 10<br />
قم بتفعيل الخيار X11UseLocalhost في ملف {{ic|ssh'''d'''_config}} على الخادم<br />
يتوجب عليك أيضًا :<br />
تفعيل الخيار X11UseLocalhost في ملف {{ic|ssh_config}} على العميل<br />
قم بتفعيل الخيار ForwardX11Trusted إذا وجدت مشاكل في الواجهة الرسومية<br />
<br />
بالطبع يتوجب عليك إعادة تشغيل خدمة ssh في الخادم لكي يتم تطبيق الإعدادت السابقة .<br />
<br />
عندما تقوم بإتسخدام تمرير X11 قم بتنفيذ الأمر التالي في الطرفية <br />
<div align=left dir=ltr><br />
$ ssh -X -p port user@server-address<br />
</div><br />
إذا واجهت مشكل في تشغيل البرمجيات الرسومية قم بعمل تمرير موثوق مستخدمًا الأمر التالي :<br />
<div align=left dir=ltr><br />
$ ssh -Y -p port user@server-address<br />
</div><br />
الآن عندما تقوم بتشغيل البرمجيات الرسومية على الخادم، فسيتم تمرير المخرجات الى جهازك المحلي.<br />
<div align=left dir=ltr><br />
$ xclock<br />
</div><br />
<br />
إذا واجهت أخطاء من قبيل "Cannot open display"، قم بتطبيق التعليمة التالية كمستخدم غير مدير للنظام :<br />
<div align=left dir=ltr><br />
$ xhost +<br />
</div><br />
<br />
التعليمة السابقة تقوم بالسماح بتمرير تطبيقات X11 للجميع، إذا أردت حصر ذلك بجهاز معين قم بإستخدام التعليمة التالية :<br />
<div align=left dir=ltr><br />
$ xhost +hostname<br />
</div><br />
<br />
حيث hostname هو اسم الجهاز الذي تريد تمرير إتصالات X11 له. يمكنك الرجوع الى "man xhost" لمزيد من المعلومات عن إستخدام هذا التعليمة.<br />
<br />
كن حذرًا مع بعض البرامج التي تتحقق من بيئة العمل المُستخدمة على الجهاز المحلي، مثال عليها برنامج firefox. فيمكنك إغلاق برنامج firefox أو عن طريق تشغيل firefox مفعلًا الخيار -no-remote :<br />
<div align=left dir=ltr><br />
$ firefox -no-remote<br />
</div><br />
<br />
If you get "X11 forwarding request failed on channel 0" when you connect (and the server /var/log/errors.log shows "Failed to allocate internet-domain X11 display socket"), try to either<br />
* Enable the '''AddressFamily any''' option in {{ic|ssh'''d'''_config}} on the '''server''', or<br />
* Set the '''AddressFamily''' option in {{ic|ssh'''d'''_config}} on the '''server''' to inet.<br />
Setting it to inet may fix problems with Ubuntu clients on IPv4.<br />
<br />
=== تمرير المنافذ الاخرى ===<br />
بالإضافة الى خاصية تمرير X11 المدمجة مع ssh، يمكنك إنشاء نفق آمن لأي من إتصالات TCP، وذلك بإستخدام تمرير محلي أو عن بُعد.<br />
التمرير المحلي يقوم بفتح منفذ في الجهاز المحلي، الإتصالات سيتم تمريرها الى الخادم البعيد ومن ثم من هناك ستصل الى وجهتها.<br />
Very often, the forwarding destination will be the same as the remote host, thus providing a secure shell and, e.g. a secure VNC connection, to the same machine. Local forwarding is accomplished by means of the {{Ic|-L}} switch and it's accompanying forwarding specification in the form of {{Ic|<tunnel port>:<destination address>:<destination port>}}.<br />
<br />
Thus:<br />
<br />
$ ssh -L 1000:mail.google.com:25 192.168.0.100<br />
<br />
will use SSH to login to and open a shell on 192.168.0.100, and will also create a tunnel from the local machine's TCP port 1000 to mail.google.com on port 25. Once established, connections to localhost:1000 will connect to the Gmail SMTP port. To Google, it will appear that any such connection (though not necessarily the data conveyed over the connection) originated from 192.168.0.100, and such data will be secure as between the local machine and 192.168.0.100, but not between 192.168.0.100, unless other measures are taken.<br />
<br />
Similarly:<br />
<br />
$ ssh -L 2000:192.168.0.100:6001 192.168.0.100<br />
<br />
will allow connections to localhost:2000 which will be transparently sent to the remote host on port 6001. The preceding example is useful for VNC connections using the vncserver utility--part of the tightvnc package--which, though very useful, is explicit about its lack of security.<br />
<br />
Remote forwarding allows the remote host to connect to an arbitrary host via the SSH tunnel and the local machine, providing a functional reversal of local forwarding, and is useful for situations where, e.g., the remote host has limited connectivity due to firewalling. It is enabled with the {{Ic|-R}} switch and a forwarding specification in the form of {{Ic|<tunnel port>:<destination address>:<destination port>}}.<br />
<br />
Thus:<br />
<br />
$ ssh -R 3000:irc.freenode.net:6667 192.168.0.200<br />
<br />
will bring up a shell on 192.168.0.200, and connections from 192.168.0.200 to itself on port 3000 (remotely speaking, localhost:3000) will be sent over the tunnel to the local machine and then on to irc.freenode.net on port 6667, thus, in this example, allowing the use of IRC programs on the remote host to be used, even if port 6667 would normally be blocked to it.<br />
<br />
Both local and remote forwarding can be used to provide a secure "gateway," allowing other computers to take advantage of an SSH tunnel, without actually running SSH or the SSH daemon by providing a bind-address for the start of the tunnel as part of the forwarding specification, e.g. {{Ic|<tunnel address>:<tunnel port>:<destination address>:<destination port>}}. The {{Ic|<tunnel address>}} can be any address on the machine at the start of the tunnel, {{Ic|localhost}}, {{Ic|*}} (or blank), which, respectively, allow connections via the given address, via the loopback interface, or via any interface. By default, forwarding is limited to connections from the machine at the "beginning" of the tunnel, i.e. the {{Ic|<tunnel address>}} is set to {{Ic|localhost}}. Local forwarding requires no additional configuration, however remote forwarding is limited by the remote server's SSH daemon configuration. See the {{Ic|GatewayPorts}} option in {{Ic|sshd_config(5)}} for more information.<br />
<br />
=== تسريع ssh ===<br />
يُمكنك جعل جميع الجلسات الى الخادم نفسه تستخدم إتصالًا واحدًا، هذا يؤدي الى تسريع عملية الولوج، وذلك بإضافة السطور التالية تحت اسم المُضيف المُناسب في ملف {{ic|/etc/ssh/ssh_config}} :<br />
<div align=left dir=ltr><br />
ControlMaster auto<br />
ControlPath ~/.ssh/socket-%r@%h:%p<br />
</div><br />
<br />
تغيير خوارزمية التشفير المُستخدمة من قبل ssh تُساعد بشكل كبير على تحسين السرعة. في هذا المجال أفصل الخيارات هي arcfour و blowfish-cbc، رجاءً لا تقم بتغييرها إلا إذا كنت تعلم ما تفعله، لخوارزمية arcfour عدد من الجوانب الضعيفة. لإستخدمهم قم بتنفيذ التعليمة التالية :<br />
<br />
$ ssh -c arcfour,blowfish-cbc user@server-address<br />
لإستخدامها بشكل دائم، ضع هذا السطر تحت اسم المضيف المناسب في ملف {{ic|/etc/ssh/ssh_config}}:<br />
Ciphers arcfour,blowfish-cbc<br />
خيار آخر لكي تُحسن من سرعة SSH هو تفعيل خيار الضغط بإستخدام راية {{Ic|"C"}}. ولتفعيل هذه الميزة دومًا قم بإضافة السطر التالي تحت اسم المُضيف المُناسب في ملف {{ic|/etc/ssh/ssh_config}}:<br />
Compression yes<br />
الوقت الآزم لتسجيل الدخول يُمكن أن يُقلل بإستخدام الراية {{Ic|"4"}}، التي تقوم بتجاوز البحث ببروتوكول IPv6. يُمكن تفعيل هذه الميزة بشكل دائم عن طريق إضافة السطر التالي تحت اسم المُضيف المناسب في ملف {{ic|/etc/ssh/ssh_config}}:<br />
AddressFamily inet<br />
طريقة اخرى لتفعيل هذه الخيارات بشكل دائم هي إنشاء مكافئ في ملف {{ic|~/.bashrc}}:<br />
alias ssh='ssh -C4c arcfour,blowfish-cbc'<br />
<br />
=== وصل نظام ملفات خاص بحاسب بعيد عن طريق sshfs ===<br />
يرجى الرجوع الى مقال [[Sshfs]] لمعرفة المزيد حول وصل نظام الملفات خاص بحاسب بعيد -قابل للوصول عبر ssh- الى مجلد محلي. يمكنك القيام بأي تعليمة وبأي أداة على الملفات الموصولة (نسخ، إعداة تسمية، تعديل بمُحرر vim...الخ). استخدم sshfs عوضًا عن shfs (لم يتم إصدار نسخة جديدة منه منذ 2004 !).<br />
<br />
=== إبقاء الإتصال مفتوحًا ===<br />
جلسة ssh الخاصة بك سوف تقوم بتسجيل الخروج عندما لا يتم إستخدمها، لإبقاء الإتصال مفتوحًا قم بإضافة السطر التالي لأحد الملفين {{ic|~/.ssh/config}} أو {{ic|/etc/ssh/ssh_config}} في جهاز العميل :<br />
<div align=left dir=ltr><br />
ServerAliveInterval 120<br />
</div><br />
<br />
السطر السابق يقوم بإرسال إشارة "keep alive" كل 120 ثانية.<br />
<br />
وبشكل آخر يمكن إبقاء الإتصالات مفتوحة عن طريق تعيين القيمة 120 أو أي رقم آخر أكبر من 0 في ملف {{ic|/etc/ssh/sshd_config}} على الخادم، كالتالي :<br />
<div align=left dir=ltr><br />
ClientAliveInterval 120<br />
</div><br />
<br />
=== حفظ بيانات الإتصال في ملف إعدادات ssh ===<br />
عندما تقوم بالولوج الى خادم ssh، فإنك ستقوم بإدخال اسم المستخدم وعنوان الخادم على الأقل. إذا أردت توقير هذا الوقت; يمكنك استخدام الملف {{ic|$HOME/.ssh/config}} الخاص بك، أو الملف العام {{ic|/etc/ssh/ssh_config}} كما في المثال التالي :<br />
<div align=left dir=ltr><br />
{{hc|$HOME/.ssh/config|<br />
Host myserver<br />
HostName 123.123.123.123<br />
Port 12345<br />
User bob<br />
Host other_server<br />
HostName test.something.org<br />
User alice<br />
CheckHostIP no<br />
Cipher blowfish<br />
}}<br />
</div><br />
الآن يمكنك الإتصال بالخادم عن طريق الأمر التالي :<br />
<div align=left dir=ltr><br />
$ ssh myserver<br />
</div><br />
<br />
للإطلاع على القائمة الكاملة للخيارات التي تستطيع إستخدمها يمكنك الرجوع الى صفحة الدليل الخاصة بـ ssh_config أو مقال[http://www.openbsd.org/cgi-bin/man.cgi?query=ssh_config ssh_config documentation] الموجود في الموقع الرسمي.<br />
<br />
=== إعادة تشغيل جلسات و انفاق ssh تلقائيًا - Autossh ===<br />
عندما يتعذر إبقاء جلسة أو نفق ssh مفتوحًا (على سبيل المثال أوضاع الشبكة سيئة تؤدي الى إنقطاع الإتصال بخادم ssh...)، يمكنك إستخدام الحزمة Autossh لإعادة الإتصال تلقائيًاـ حزمة Autossh يمكن تنصيبها من المستودعات الرسمية.<br />
<br />
أمثلة عن طرق الإستخدام :<br />
<div align=left dir=ltr><br />
$ autossh -M 0 -o "ServerAliveInterval 45" -o "ServerAliveCountMax 2" username@example.com<br />
</div><br />
مدمجة مع خدمة [[ sshfs ]]:<br />
<div align=left dir=ltr><br />
$ sshfs -o reconnect,compression=yes,transform_symlinks,ServerAliveInterval=45,ServerAliveCountMax=2,ssh_command='autossh -M 0' username@example.com: /mnt/example <br />
</div><br />
الإتصال بواسطة وسيط SOCKS :<br />
<div align=left dir=ltr><br />
$ autossh -M 0 "ServerAliveInterval 45" -o "ServerAliveCountMax 2" -NCD 8080 username@example.com <br />
</div><br />
عند إستخدام الخيار -f، Autossh سيتم تشغيله كعملية في الخلفية، تشغيله بهذه الطريقة يعني أنظ لا تستطيع إدخال معلومات الإتصال بشكل تفاعلي.<br />
سيتم إنهاء الجلسة فقط عندما تتم كتابة exit أو عندما تتلقى Autossh إشارة SIGTERM, SIGINT , SIGKILL<br />
<br />
إذا أردت تشغيل autossh تلقائيًا، يُمكنك وبسهولة استخدام systemd، فعلى سبيل المثال يُمكنك إنشاء ملف واحدة خاص بخدمة systemd على الشكل التالي :<br />
<div align=left dir=ltr><br />
[Unit]<br />
Description=AutoSSH service for port 2222<br />
After=network.target<br />
<br />
[Service]<br />
ExecStart=/usr/bin/autossh -M 0 2222:localhost:2222 foo@bar.com<br />
</div><br />
ومن ثم قم بوضعها في ملف -وعلى سبيل المثال- /etc/systemd/system/system/autossh.service، بالطبع يُمكنك إنشاء ملف واحدة أكثر تعقيدًا إذا كان ذلك ضروريًا (يُمكنك الرجوع الى التوثيق الخاص بخدمة systemd لمزيد من التفاصيل)، وبكل تأكيد يُمكنك إستخدام الخيارات الخاصة بك في autossh.<br />
<br />
ومن ثم قم بتفعيل أنفاق autossh كالتالي :<br />
<div align=left dir=ltr><br />
$ systemctl start autossh<br />
</div><br />
(أو حسب ما قمُت بتسمية ملف الواحدة)<br />
<br />
من المُمكن أيضًا التعامل مع عدة عمليات autossh سويًا، وذلك لإبقاء الإتصال مفتوحًا في عدة أنفاق. عليك فقط إنشاء ملفات .service متعددة ذات أسماء مُختلفة.<br />
<br />
== إستكشاف الأخطاء وإصلاحها ==<br />
=== الإتصالات تُرفض أو تنتهي مدتها ===<br />
<br />
==== هل الراوتر لديك يقوم بتمرير المنافذ؟ ====<br />
<br />
قم بتجاوز هذه الخطوة إذا كنت خلف NAT modem/router. (على سبيل المثال VPS أو غيره). أغلب المنازل أو الشركات الصغيرة يكون لديها NAT modem/router.<br />
<br />
أو شيئ يجب التحقق منه هو أن الراوتر لديك يقوم بتمرير إتصالات ssh القادمة الى جهازك المحلي. عنوان IP الخارجي الذي تم إعطاؤه لك من قبل مزود خدمة الإنترنت، وهو نفس العنوان الذي يتم ربطه مع الطلبات الخاجية من قبل الراوتر لديك. لذا يجب على الراوتر أن يعلم أن إتصالات SSH القادمة يجب أن يتم تمريرها الى خدمة sshd في جهازك المحلي.<br />
<br />
قم بمعرفة عنوان ip الخاص بجهازك في الشبكة المحلية :<br />
<div align=left dir=ltr><br />
ip a<br />
</div><br />
قم بالبحث عن الحقل الخاص بقيمة inet. ومن ثم قم بالدخول الى لوحة الإعدادات الخاصة بالراوتر لديك مُستخدمًا عنوان IP الخاص به. قم بإخبار الراوتر لديك بأن يقوم بتمرير الإتصالات الى عنوان inet IP قم بزيارة موقع [http://portforward.com/] لمزيد من المعلومات حول كيفية تمرير المنافذ في الراوتر الخاص بك.<br />
<br />
==== هل خدمة ssh تعمل؟ ====<br />
<div align=left dir=ltr><br />
$ ss -tnlp<br />
</div><br />
إذا لم تُظهر التعليمة السابقة أن منفذ ssh مفتوح فإن خدمة ssh لا تعمل، قم بالتحقق من ملف {{ic|/var/log/messages}} للحصول على الأخطاء.<br />
<br />
==== هل يقوم الجدار الناري الخاص بك بحجب الإتصالات ؟ ====<br />
{{out of date|rc.d is deprecated with systemd}}<br />
Flush your iptables rules to make sure they are not interfering:<br />
<div align=left dir=ltr><br />
# rc.d stop iptables<br />
</div><br />
أو:<br />
<div align=left dir=ltr><br />
# iptables -P INPUT ACCEPT<br />
# iptables -P OUTPUT ACCEPT<br />
# iptables -F INPUT<br />
# iptables -F OUTPUT<br />
</div><br />
==== هل يصل الإتصال أساسًا الى جهازك؟ ====<br />
قم بعمل traffic dump في الجهاز الذي تواجه فيه المشاكل بإستخدام التعليمة التالية:<br />
<div align=left dir=ltr><br />
# tcpdump -lnn -i any port ssh and tcp-syn<br />
</div><br />
سيتم إظهار بعض المعلومات البسيطة، الآن قم بتجربة الإتصال. إذا لم تشاهد أي مخرجات خلال عملية الإتصال, فهذا يعني أن شيئاً ما خارج جهازك يمنع الإتصال (على بسيل المثال : جدار ناري خارجي أو NAT راوتر).<br />
<br />
==== هل يقوم مزود الخدمة الخاص بك أو أي جهة اخرى بحجب المنفذ الإفتراضي ؟ ====<br />
{{Note|قم بتجريب الخطوة التالية فقط إذا كنت '''متأكدًا''' من أنك لا تستخدم أي جدار ناري وقمت بإعداد الراوتر لديك إعدادًا صحيحًا وذلك بتمرير المنفذ الى جهازك المحلي.}}<br />
<br />
في بعض الحالات، يقوم مزود الخدمة الخاص بك بحجب المنفذ الإفتراضي 22 لذا مهما حاولت من طرق فهي لن تُجدي نفعًا.<br />
<br />
إذا واجهتك رسالة شبيهة بالرسالة التالية :<br />
<div align=left dir=ltr><br />
ssh: connect to host www.inet.hr port 22: Connection refused<br />
</div><br />
فهذا لا يعني أن المنفذ قم تم حجبه من قبل مزود الخدمة، بل أن الخادم لا يُشغل خدمة SSH على هذا المنفذ(راجع [http://en.wikipedia.org/wiki/Security_through_obscurity security through obscurity]).<br />
<br />
أما إذا واجهت رسالة كالرسالة التالية :<br />
<div align=left dir=ltr><br />
ssh: connect to host 111.222.333.444 port 22: Operation timed out <br />
</div><br />
هذا يعني أن هنالك شيئ يمنع إتصال TCP على المنفذ 22. إذا كنت متأكدًا تمامًا من الإعداد الصحيح للجدار الناري و/أو الراوتر، فإن ذلك يعني أن المنفذ محجوب من قبل مزود الخدمة.<br />
<br />
To double check, you can run Wireshark on your server and listen to traffic on port 22. Since Wireshark is a Layer 2 Packet Sniffing utility, and TCP/UDP are Layer 3 and above (See [http://en.wikipedia.org/wiki/TCP/IP_model IP Network stack]), if you don't receive anything while connecting remotely, a third party is most likely to be blocking the traffic on that port to your server.<br />
<br />
===== Diagnosis via Wireshark =====<br />
[[pacman|Install]] Wireshark with the {{Pkg|wireshark-cli}} package, available in the [[official repositories]].<br />
<br />
And then run it using,<br />
tshark -f "tcp port 22" -i NET_IF<br />
<br />
where NET_IF is the network interface for a WAN connection (see {{ic|ip a}} to check). If you aren't receiving any packets while trying to connect remotely, you can be very sure that your ISP is blocking the incoming traffic on port 22.<br />
<br />
===== Possible solution =====<br />
The solution is just to use some other port that the ISP isn't blocking. Open the {{ic|/etc/ssh/sshd_config}} and configure the file to use different ports. For example, add:<br />
<br />
Port 22<br />
Port 1234<br />
<br />
Also make sure that other "Port" configuration lines in the file are commented out. Just commenting "Port 22" and putting "Port 1234" won't solve the issue because then sshd will only listen on port 1234. Use both lines to run the SSH server on both ports. <br />
<br />
Restart the server {{ic|systemctl restart sshd.service}} and you're almost done. You still have to configure your client(s) to use the other port instead of the default port. There are numerous solutions to that problem, but let's cover two of them here.<br />
<br />
==== مشكلة Read from socket failed: connection reset by peer ====<br />
الإصدارات التي اطلقت مؤخرًا من openssh تفشل في بعض الأحيان مخرجةً رسالة خطأ كالرسالة السابقة بسبب وجود علّة في خاصية التشفير فيها. في هذه الحالة قم بإضافة السطر التالي الى ملف {{ic|~/.ssh/config}}:<br />
<br />
HostKeyAlgorithms ssh-rsa-cert-v01@openssh.com,ssh-dss-cert-v01@openssh.com,ssh-rsa-cert-v00@openssh.com,ssh-dss-cert-v00@openssh.com,ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,ssh-rsa,ssh-dss<br />
<br />
في إصدار openssh 5.9 السطر السابق لا يقوم بحل المشكلة. لذا قم بوضع السطور التالية في ملف {{ic|~/.ssh/config}}:<br />
<br />
Ciphers aes128-ctr,aes192-ctr,aes256-ctr,aes128-cbc,3des-cbc <br />
MACs hmac-md5,hmac-sha1,hmac-ripemd160<br />
<br />
راجع أيضًا [http://www.gossamer-threads.com/lists/openssh/dev/51339 discussion] في مركز علل openssh<br />
<br />
=== "[الصدفة التي تستخدمها]: No such file or directory" ===<br />
One possible cause for this is the need of certain SSH clients to find an absolute path (one returned by {{Ic|whereis -b [your shell]}}, for instance) in {{Ic|$SHELL}}, even if the shell's binary is located in one of the {{Ic|$PATH}} entries. Another reason can be that the user is no member of the ''network'' group.<br />
<br />
===ظهور رسالة الخطأ "Terminal unknown" أو "Error opening terminal"===<br />
من الممكن عند إستخدام ssh الحصول على أخطاء من من قبيل "Terminal unknown" عندما تحاول تسجيل الدخول. بدء بعض التطبيقات كتطبيق nano يفشل مُظهرًا الرسالة "Error opening terminal". يوجد طريقتين لحل المشاكل من هذا النوع، الطريقة السلهة هي إستخدام المُتغير $TERM، أو باستخدام ملف terminfo.<br />
<br />
====الحل بواسطة المتغير $TERM====<br />
بعد الإتصال الى الخادم، قم بتحديد قيمة المتغير $TERM الى "xterm" مُستخدمًا التعليمة التالية :<br />
<div align=left dir=ltr><br />
{{ic|TERM&#61;xterm}}<br />
</div><br />
هذا الحل يحوي على بعض المشاكل الجانبية. ويتوجب عليك أيضًا أن تقوم بتكرار هذه التعليمة كل مرة تقوم فيها بتسجيل الدخول الى الخادم. أو بشكل بديل يمكنك وضعها في ملف ~.bashrc .<br />
====الحل بإستخدام ملف terminfo====<br />
حل آخر هو نقل ملف terminfo من جهازك المحلي الى الخادم. في هذا المثال سنقوم بشرح كيفية تهيئة ملف terminfo من أجل طرفية من نوع "rxvt-unicode-256color".<br />
قم بإنشاء مجلد يحوي على ملفات terminfo في خادم ssh، عندما تقوم بتسجيل الدخول الى الخادم قم بإستخدام هذه التعليمة :<br />
<div align=left dir=ltr><br />
<br />
{{ic| mkdir -p ~/.terminfo/r/}}<br />
<br />
</div><br />
<br />
الآن قم بنسخ ملف terminfo الخاص بالطرفيتك الى المجلد الجديد. مُستبدلًا ''"rxvt-unicode-256color"'' بالطرفية الخاصة بك في التعليمة التالية و ''ssh-server'' بإسم المستخدم وعنوان الخادم الخاصين بك<br />
<br />
<div align=left dir=ltr><br />
{{ic|$ scp /usr/share/terminfo/r/''rxvt-unicode-256color'' ssh-server:~/.terminfo/r/}}<br />
<br />
</div><br />
بعدما تقوم بتسجيل الخروج ومن ثم تسجيل الدخول مُجددًا، تكون المشكلة قد حُلّت.<br />
<br />
== شاهد أيضًا ==<br />
*[[SSH Keys]]<br />
*[[Pam abl]]<br />
*[[fail2ban]]<br />
*[[sshguard]]<br />
*[[Sshfs]]<br />
*[[Syslog-ng]] : لإرسال log الخاص بـ ssh الى ملف<br />
<br />
== Links & references ==<br />
*[http://www.soloport.com/iptables.html A Cure for the Common SSH Login Attack]<br />
*[http://www.la-samhna.de/library/brutessh.html Defending against brute force ssh attacks]<br />
*[http://www.ibm.com/developerworks/library/l-keyc/index.html OpenSSH key management, Part 1] and [http://www.ibm.com/developerworks/library/l-keyc2 Part 2] on IBM developerWorks<br />
</div></div>Abd allatifhttps://wiki.archlinux.org/index.php?title=Firefox_(%D8%A7%D9%84%D8%B9%D8%B1%D8%A8%D9%8A%D8%A9)&diff=261645Firefox (العربية)2013-06-07T11:54:39Z<p>Abd allatif: </p>
<hr />
<div>[[Category:Web Browser (العربية)]]<br />
[[Category:العربية]]<br />
[[en:Firefox]]<br />
[[cs:Firefox]]<br />
[[es:Firefox]]<br />
[[fr:Firefox]]<br />
[[it:Firefox]]<br />
[[ja:Firefox]]<br />
[[ko:Firefox]]<br />
[[ru:Firefox]]<br />
[[tr:Firefox]]<br />
[[zh-CN:Firefox]]<br />
<div align=right dir=rtl><br />
[http://www.firefox.com Firefox] هو متصفح رسومي شهير مفتوح المصدر من شركة [http://www.mozilla.com Mozilla].<br />
== التنصيب ==<br />
متصفح firefox يُمكن تنصيبه من الحزمة {{Pkg|firefox}} المتوفرة من المستودعات الرسمية.<br />
هنالك عدد من الحزم اللغات متوفرة لمتصفح firefox، غير اللغة الإنكليزية الإفتراضية. حزم اللغات تُسمى عادة {{ic|firefox-i18n-languagecode}}. حيث {{ic|languagecode}} يمكن أن يكون الكود الخاص بالغة ar,fr أو ja ...الخ . للحصول على قائمة كاملة باسماء الحزم يمكنك الرجوع الى الرابط [https://www.archlinux.org/packages/?sort=&q=firefox-i18n&maintainer=&last_update=&flagged=&limit=100 التالي].<br />
<br />
إذا لم يقم firefox بإظهار حواف ناعمة للخطوط، قم بمحاولة تنصيب حزمة الخطوط {{AUR|ttf-win7-fonts}} أو {{AUR|ttf-ms-fonts}} ومن ثم قم بإلقاء نظرة على إعدادت الخطوط.<br />
<br />
<br />
== الملحقات add-ons ==<br />
إن متصفح firefox مشهور بعدد الملحقات الكبير الذي يمكن تنصيبها عليه والتي تجلب مزايا جديدة أو تُعدل سلوك مزايا موجودة مُسبقًا في firefox. يمكنك الحصول على محلقات جديدة أو التحكم في المحلقات المُنصبة مُستخدمًا "مدير المحلقات" الخاص بمتصفح firefox.<br />
للحصول على قائمة بإشهر المحلقات راجع الصفحة التالية [https://addons.mozilla.org/en-US/firefox/extensions/?sort=popular Mozilla's add-on list sorted by popularity].<br />
<br />
== الإضافات plugins ==<br />
لكي تعرف ما هي الإضافات المُنصبة على متصفح firefox قم بإدخال :<br />
<div align=left dir=ltr><br />
about:plugins<br />
</div><br />
في شريط العنوان، أو بالذهاب الى قيد ''Add-ons'' في القوائم ومن ثم قم بتحديد لسان ''Plugins''<br />
<br />
===التكامل مع حافظة مفاتيح GNOME ===<br />
قم بتثبيت {{AUR|firefox-gnome-keyring}} من مستودع [[AUR]] لعمل تكامل فايرفوكس مع حافظة مفاتيح [[GNOME Keyring]]. لجعل firefox-gnome-keyring يستخدم سلسلة مفاتيحك الخاصة بتسجيل الدخول ، قم بتعديل قيمة extensions.gnome-keyring.keyringName إلى "login" (بدون علامات اقتباس) في صفحة about:config. لاحظ الحرف الصغير 'l' رغم أن الاسم في keychain يحتوي على حرف كبير 'L' في الحافظة Seahorse.<br />
<br />
===التكامل مع KDE ===<br />
* لإستخدام تكنولوجيا الخاصة بـ KPart مع متصفح firefox، عن طريق دمج عدة عوارض للملفات في المتصفح، يمكنك تنصيب حزمة {{Pkg|kpartsplugin}}.<br />
* للحصول على تكامل أكثر مع ثيمة Oxygen يمكنك تنصيب [http://kde-look.org/content/show.php/?content=117962 Oxygen KDE] التي تدعم عددًا كبيرًا من الثيمات الخاصة بمتصفح firefrox بالإضافة الى الأيقونات وغيرها.<br />
* لمزيد من التكامل مع mime type الخاص بمربعات الحوار في KDE، يمكنك استخدام [https://aur.archlinux.org/packages/firefox-kde-opensuse version of firefox] الذي يأتي مع رقع OpenSUSE.<br />
<br />
=== القواميس لتصحيح مدخلات المستخدم ===<br />
لكي تقوم بتفعيل التدقيق اللغوي للغة مُحددة، قم بالنقر بالزر الأيمن للفأرة على مربع النص وقم بتفعيل خيار ''Check Spelling''. لكي تُحدد اللغة التي سيتم التدقيق اللغوي فيها قم بالضغط مرة اخرى بالزر الأيمن وقم بتحديد لغتك من القائمة الفرعية المُعنونة ''Languages''.<br />
للحصول على لغات غضافية قم بالضغط على ''Add Dictionaries...'' و من ثم قم بتحديد اللغة التي تريد تنصيبها من الخيارات.<br />
<br />
بشكل بديل، يمكنك تنصيب حزمة {{Pkg|hunspell}} المتوفرة في المستودعات الرسمية، ويتوجب عليك بعدها تنصيب القواميس الخاصة بلغتك كحزمة {{Pkg|hunspell-ar}} للغة العربية و حزمة {{Pkg|hunspell-fr}} للغة الفرنسية.<br />
بشكل إفتراضي، fireofx يقوم بإنشاء روابط الى جميع قواميس hunspell الموجودة في {{ic|/usr/lib/firefox/dictionaries}}. إذا اردت الحصول على قواميس أقل في القائمة المتوفرة في المتصفح، يُمكنك حذف بعض من هذه الروابط. لكن كن مدركًا أن تحديث المتصفح سيقوم بإعادة الروابط التي تم حذفها.<br />
<br />
=== إضافة مُحركات بحث الى متصفح firefox ===<br />
مُحركات البحث يُمكن إضافتها كملحقات عادية، راجع المقال التالي [https://addons.mozilla.org/en-US/firefox/search-tools/ this page] for a list of available search engines.<br />
قائمة كبيرة جدًا بمجركات البحث يمكن أيجادها [http://mycroft.mozdev.org/ هنا].<br />
أيضًا يُمكنك إستخدام المحلق [https://firefox.maltekraus.de/extensions/add-to-search-bar add-to-searchbar] لإضافة محركات البحث الموجودة في أي موقع الى شريط البحث الخاص بك عن طريق الضغط عليه بالزر الأيمن للفأرة وتحديد الخيار ''Add to Search Bar...''.<br />
إذا أردت إضافة مُحركات البحث يدويًا يمكنك إلقاء نظرة على الملف {{ic|~/.mozilla/firefox/profile-id.default/searchplugins/}} (حيث profile-id هو profile ID الخاص بك).<br />
<br />
====حزمة arch-firefox-search ====<br />
يُمكنك تنصيب حزمة {{Pkg|arch-firefox-search}} المتوفرة في المستودعات الرسمية، لإضافة حقل بحث خاص بأرتش لينكس (AUR، الوكي، المنتدى...الخ) في متصفح firefox.<br />
<br />
==مشتقات المتصفح فايرفوكس ==<br />
<br />
* {{App|[[Wikipedia:Mozilla Corporation software rebranded by the Debian project#IceWeasel|Iceweasel]]|نسخة متفرعة من firefox تم تطويرها من قبل فريق عمل debian، لا تحوي على أي علامات تجارية أو شعارات خاصة بشركة Mozilla.|http://wiki.debian.org/Iceweasel|{{AUR|iceweasel}}}}<br />
{{Note|gl.d] لمزيد من المعلومات حول Iceweasel راجع [http://web.glandium.org/blog/?p&#61;97 التدوينة التالية].}}<br />
* {{App|[[Wikipedia:Gnu IceCat|GNU IceCat]]|متصفح ويب تم تطويره من قبل مشروع GNU، يحوي فقط على برمجيات حرة ومتوافق تمامًا مع انظمة GNU/Linux و الإضافات الخاصة بمتصفح firfox. |http://www.gnu.org/software/gnuzilla/|{{AUR|icecat}}}}<br />
* {{App|Firefox KDE|نسخة من متصفح firefox يحوي على رقعة من OpenSUSE لتحقيق أكبر قد من التكامل مع واجهة KDE.|http://gitorious.org/firefox-kde-opensuse|{{AUR|firefox-kde-opensuse}}}}<br />
<br />
== إسكتشاف الأخطاء و إصلاحها ==<br />
<br />
=== تحديد عميل البريد الإلكتروني الخاص بك ===<br />
يقوم firefox عادةً بفتح روابط {{ic|mailto}} بإستخدام تطبيقات الويب كتطبيق Gmail أو Yahoo. لتحديد عميل البريد الإلكتروني المُفضل لديك في firefox الذي ستم فتحه عند الضغط على روابط {{ic|mailto}}، قم بالذهاب الى ''Preferences > Applications'' وقم بتعديل حقل ''action'' الخاص بنوع المحتوى {{ic|mailto}}. بالطبع يتوجب عليك تحديد المسار الكامل لعميل البريد الإلكتروني (على سبيل المثال {{ic|/usr/bin/kmail}} لبرنامج Kmail).<br />
<br />
=== مشاكل Open containing folder في واجهة GNOME3 ===<br />
إذا كنت تتوقع تشغيل متصفح الملفات [[Nautilus]] عندما تقوم بالضغط على خيار "Open Containing Folder" في مدير التنزيلات، لكن متصفح ملفات [[Thunar]] أو [[Wine]] يتم تشغيله عوضًا عنه، يمكنك التحقق من السطرين التاليين في ملف {{ic|~/.local/share/applications/defaults.list}}:<br />
<div align=left dir=ltr><br />
inode/directory=<someprogram>.desktop<br />
x-directory/normal=<someprogram>.desktop<br />
</div><br />
إذا كانت قيمة {{ic|<someprogram>}} ليست {{ic|nautilus}}، فقم بتغييرها الى ذلك.<br />
<br />
=== مشاكل Open containing folder في واجهة KDE ===<br />
اذا كنت تتوقع تشغيل متصفح الملفات المُفضل لديك عندما تقوم بالضغط على خيار "Open Containing Folder" في مدير التنزيلات، لكن متصفح ملفات آخر تم تشغيله عوضًا عنه، يمكنك إستخدام متصفح الملفات المفضل لديك وليكن [[Dolphin]] في لوحة التحكم الخاصة بكدي تحت ''Workspace Appearance and Behavior > Default Applications > File Manager''.<br />
إذا كان firefox ما يزال لا يفتح المجلدات بمتصفح الملفات الذي تُفضل قم بتعديل الملف التالي مُضمنًا السطرين التاليين :<br />
<div align=left dir=ltr><br />
x-directory/normal=kde4-dolphin.desktop;kde4-kfmclient_dir.desktop;<br />
inode/directory=kde4-dolphin.desktop;kde4-kfmclient_dir.desktop;kde4-gwenview.desktop;kde4-filelight.desktop;kde4-cervisia.desktop;<br />
</div><br />
===استمرار فايرفوكس في إنشاء الدليل Desktop/~ حتى ولو لم يكن مطلوبا ===<br />
متصفح firefox يستخدم {{ic|~/Desktop}} كمكان افتراضي للملفات المحملة والمرفوعة. يمكنك وضعها الى مجلد آخر عن طريق إنشاء ملف {{ic|~/.config/user-dirs.dirs}} وإضافة الأسطر التالية إليه :<br />
<div align=left dir=ltr><br />
XDG_DESKTOP_DIR="/home/<user>/"<br />
XDG_DOWNLOAD_DIR="/home/<user>/<dir>"<br />
XDG_TEMPLATES_DIR="/home/<user>/<dir>"<br />
XDG_PUBLICSHARE_DIR="/home/<user>/<dir>"<br />
XDG_DOCUMENTS_DIR="/home/<user>/<dir>"<br />
XDG_MUSIC_DIR="/home/<user>/<dir>"<br />
XDG_PICTURES_DIR="/home/<user>/<dir>"<br />
XDG_VIDEOS_DIR="/home/<user>/<dir>"<br />
</div><br />
قم بتغيير {{ic|<user>}} و {{ic|<dir>}} إلى المجلد الفعلي لديك.<br />
<br />
=== إلزام الإضافات بمنع النوافذ المنبثقة ===<br />
بعض الإضافات تقوم بتجاوز الإعدادات الإفتراضية، كإضافة Flash. لذا يمكنك منع ذلك عن طريق التالي :<br />
<br />
# قم بكتابة {{ic|about:config}} في شريط العنوان.<br />
# قم بالضغط بالزر الأيمن للفأرة وقم بالنقر على {{ic|New}} ومن ثم النقر على {{ic|Integer}}.<br />
# قم بتسمة الخاصية الجديدة {{ic|privacy.popups.disable_from_plugins}}.<br />
# قم بتحديد قيمتها الى 2.<br />
<br />
القيم المُمكنة هي :<br />
* '''0''': قم بالسماح بالنوافذ المنبثقة من جميع الإضافات.<br />
* '''1''': قم بالسماح بالنوافذ المنبثقة لكن قم بتحديدهم بقيمة الخيار dom.popup_maximum.<br />
* '''2''': قم بمنع النوافذ المنبثقة من الإضافات.<br />
* '''3''': قم بمنع النوافذ المنبثقة من الإضافاتن حتى في المواقع المسموح بها.<br />
<br />
===رسائل خطأ زر الفأرة اﻷوسط ===<br />
رسالة خطأ شهيرة تنتج عن الضغط على زر الفأرة الأوسط هي :<br />
<div align=left dir=ltr><br />
The URL is not valid and cannot be loaded.<br />
</div><br />
أيضًا قد يحدث سلوك غير متوقع عند الضغط على الزر الأوسط، كفتح صفحة عشوائية.<br />
<br />
السبب وراء هذه المشكلة هو طريقة إستخدام زر الفأرة الأوسط في الانظمة الشبيهة باليونكس. الزر الأوسط يقوم بلصق النص الذي تم تحديده أو نسخه الى الحافظة. لربما يحدث إلتباس في firefox الذي يكون السلوك الإفتراضي هو فتح الرابط الذي تم الضغط عليه في لسان جديد. يمكن تعطيل هذه الميزة عن طريق الذهاب الى {{ic|about:config}} وتحديد قيمة الخيار {{ic|middlemouse.contentLoadURL}} الى القيمة'''false'''. <br />
<br />
بشكل آخر، إذا أردت إستعادة التمرير بإستخدام الزر الأوسط (السلوك الإفتراضي في نظام windows). يمكن تفعيل ذلك بالبحث عن الخيار {{ic|general.autoScroll}} وتحديد قيمةته الى القيمة '''true'''.<br />
<br />
===مفتاح Backspace لا يعمل كزر عودة ===<br />
حسب [http://ubuntu.wordpress.com/2006/12/21/fix-firefox-backspace-to-take-you-to-the-previous-page/ هذا المقال]، فإن هذه الميزة تمت إزالتها لحل علّة في المتصفح. لكي تُعيد سلوكها الى ما كانت عليه قم بالذهاب الى {{ic|about:config}} وتحديد قيمة الخيار {{ic|browser.backspace_action}} الى القيمة صفر '''0'''<br />
<br />
===فايرفوكس لا يتذكر بيانات تسجيل الدخول ===<br />
بسبب حدوث عطب في ملف {{ic|cookies.sqlite}} الموجود في مجلد [http://support.mozilla.com/en-US/kb/Profiles#How_to_find_your_profile Firefox's profile]. لكي تحل هذه المشكلة قم بإعادة تسمية أو حذف ملف {{ic|cookie.sqlite}} عندما يكون متصفح firefxo مغلقًا.<br />
<br />
قم بفتح الطرفية وكتالبة هذه الأوامر فيها :<br />
<div align=left dir=ltr><br />
$ cd ~/.mozilla/firefox/xxxxxxxx.default/<br />
$ rm -f cookies.sqlite<br />
</div><br />
{{Note|xxxxxxxx تعني ثمانية محارف عشوائية.}}<br />
<br />
قم الآن بإعادة تشغيل firefox وانظر هل تم حل المشكلة أم لا.<br />
<br />
===حقول الإدخال غير مقروءة مع ثيمات dark GTK+ ===<br />
عندما تقوم بإستخدام ثيمات [[GTK+]] داكنة للون، ربما تظهر بعض الحقول في صفحات الويب بشكل غير مقروء (على سبيل المثال الخط ابيض على خلفية بيضاء في موقع Amazon). هذا يحدث عندما يقوم الموقع بتحديد لون الخلفية أو النص فقط، ويقوم firefox بإخد القيمة الاخرى من الثيمة.<br />
<br />
لحل هذه المشكلة يجب عليك تحديد قيمة معيارية للألوان في جميع الصفحات في ملف {{ic|~/.mozilla/firefox/xxxxxxxx.default/chrome/userContent.css}}.<br />
<br />
التالي يقوم بتحديد لون أسود على خلفية بيضاء لجميع حقول النص في نماذج HTML، كلا اللونين يمكن تحديد قيمته من قبل الموقع الذي تتم زيارته، لذا فإن الالوان تظهر كما يجب:<br />
<div align=left dir=ltr><br />
{{bc|<br />
input {<br />
-moz-appearance: none !important;<br />
background-color: white;<br />
color: black;<br />
}<br />
<br />
textarea {<br />
-moz-appearance: none !important;<br />
background-color: white;<br />
color: black;<br />
}<br />
<br />
select {<br />
-moz-appearance: none !important;<br />
background-color: white;<br />
color: black;<br />
}<br />
}}<br />
</div><br />
الكود التالي سيجبر إستخدام الألوان من قبل جميع الصفحات :<br />
<div align=left dir=ltr><br />
{{bc|<br />
input {<br />
-moz-appearance: none !important;<br />
background-color: pink !important;<br />
color: green !important;<br />
}<br />
<br />
textarea {<br />
-moz-appearance: none !important;<br />
background-color: pink !important;<br />
color: green !important;<br />
}<br />
<br />
select {<br />
-moz-appearance: none !important;<br />
background-color: pink !important;<br />
color: green !important;<br />
}<br />
}}<br />
</div><br />
قم بتغيير قيم الألوان الى أن تلائم إحتياجاتك، أو بإمكانك إستخدام إضافة [https://addons.mozilla.org/en-US/firefox/addon/2108 Stylish]<br />
<br />
=== مشاكل الملفات ذات الصلة ===<br />
للمستخدمين الذين لا يستخدمون واجهة [[GNOME]]، متصفح firefox قد لا يقوم بربط البرامج بشكل صحيح، لحل المشكلة قم بتنصيب حزمة {{Pkg|libgnome}} من المستودعات الرسمية.<br />
<br />
إذا كنت تستخدم واجهة KDE يمكنك أيضًا القيام بالتالي :<br />
<div align=left dir=ltr><br />
ln -s ~/.local/share/applications/mimeapps.list ~/.local/share/applications/mimeinfo.cache<br />
</div><br />
الآن متصفح firefox يجب أن يقوم بتشغيل البرمجيات الصحيحة.<br />
<br />
==="هل تريد من فايرفوكس أن يحتفظ بألسنة التصفح عند بدئه المرة القادمة؟" المربع الحواري لا يظهر ===<br />
من موقع [http://support.mozilla.com/en-US/questions/767751 Mozilla Support] :<br />
<br />
# اكتب {{ic|about:config}} in the address bar.<br />
# اضبط {{ic|browser.warnOnQuit}} على '''true'''.<br />
# اضبط {{ic|browser.showQuitWarning}} على '''true'''.<br />
<br />
===فايرفوكس يستخدم خطوطا قبيحة في واجهته ===<br />
إذا شعرت بأن الخطوط التي يستخدمها متصفح firefox قبيحة. هنالك إحتمال بأنه ينقصك خطوط أجمل في firefox. ببساطة قم بتنصيب خطوط "Type 1" من حزمة {{Pkg|xorg-fonts-type1}} المتوفرة في المستودعات الرسمية.<br />
<br />
===فايرفوكس يستخدم خطوطا قبيحة في صفحات معينة ===<br />
عندما يستخدم متصفح firefox خطوط نقطية، ينتج عن ذلك خطوط قبيحة جدًا في عدد من الصفحات مقارنةً مع متصفح Google Chrome على سبيل المثال :<br />
<br />
http://i.imgur.com/SMVdi.png vs http://i.imgur.com/jNmxU.png<br />
<br />
لحل هذه المشكلة ، قم بإلغاء تفعيل الخطوط النقطية لمخدم العرض X :<br />
<div align=left dir=ltr><br />
# ln -s /etc/fonts/conf.avail/70-no-bitmaps.conf /etc/fonts/conf.d/<br />
</div><br />
===حل بعض مشكلات خطوط فايرفوكس بخطوط جوجل ===<br />
بعض مشكلات الخطوط في متصفح firefox يُمكن حلها عن طريق تنصيب خطوط Google من حزم AUR {{AUR|ttf-google-fonts-hg}} أو {{AUR|ttf-google-fonts-git}}. هذه الخطوط ستقوم بتحسين عرض تطبيقات Google Drive بشكل كبير.<br />
<br />
===لا يمكن انسدال القائمة بعد الترقية لفايرفوكس 13 ===<br />
هذه المشكلة متعلقة [https://bugzilla.mozilla.org/show_bug.cgi?id=787943 بهذه العلة]، هذه العلة قد تؤثر على أي مستخدم يقوم بهذا الضبط :<br />
<div align=left dir=ltr><br />
GTK_IM_MODULE=xim<br />
</div><br />
عندما يقوم بتهيئة إعدادات الإدخال.<br />
<br />
== انظر أيضا ==<br />
* [http://www.mozilla.org/firefox/ Official Website]<br />
* [http://www.mozilla.org/ Mozilla Foundation]<br />
* [https://wiki.mozilla.org/Firefox Firefox Wiki]<br />
* [https://addons.mozilla.org/ Firefox Add-ons]<br />
* [http://www.getpersonas.com/ Firefox Persona Themes]<br />
</div></div>Abd allatifhttps://wiki.archlinux.org/index.php?title=Secure_Shell_(%D8%A7%D9%84%D8%B9%D8%B1%D8%A8%D9%8A%D8%A9)&diff=261642Secure Shell (العربية)2013-06-07T11:34:51Z<p>Abd allatif: </p>
<hr />
<div>[[Category:Secure Shell (العربية)]]<br />
[[Category:العربية]]<br />
[[Category:Networking (العربية)]]<br />
[[es:Secure Shell]]<br />
[[de:SSH]]<br />
[[fr:ssh]]<br />
[[it:Secure Shell]]<br />
[[ko:Secure Shell]]<br />
[[pl:Secure Shell]]<br />
[[pt:Secure Shell]]<br />
[[ru:Secure Shell]]<br />
[[sr:Secure Shell]]<br />
[[zh-CN:Secure Shell]]<br />
<div align=right dir=rtl><br />
'''الصدفة الآمنة''' ('''SSH''') هي بروتوكول من بروتوكولات الشبكة التي تسمح بتبادل البيانات عبر محطة آمنة بين حاسبين مختلفين, التشفير يضمن سرية المعلومات. إن ssh يستخدم التعمية يالمفتاح العمومي لكي يتم الإستيثاق بالحاسب الذي يقوم بإجراء الإتصال وللسماح بالإستيثاق من المستخدم إذا كان ذلك ضروريًا.<br />
<br />
بشكل عام تُستخدم ssh للولوج الى حاسب عن بعد و تنفيذ, لكنها أيضًا تدعم إنشاء لأنفاق الآمنة بالإضافة الى تمرير المنافذ و إتصالات X11 ونقل الملفات يمكن أن يتم يإستخدام بروتوكول sftp أو بروتوكول scp.<br />
<br />
إن خادم ssh بشكل إفتراضي يقوم بإستقبال الإتصالات عبر المنفذ الإفتراضي 22 tcp, عميل ssh هو عبارة عن برنامج يُستخدم لإنشاء إتصال الى خدمة ssh في حال تم إعداده لقبول الإتصالات. كلاهما يتوفر بشكل كبير في الأنظمة الشهيرة كنظام Mac OS X, GNU/Linux, Solaris و OpenVMS. برامج مملوكة و مفتوحة المصدر بمختلف الإصدارات ومختلف مراحل التعقيد و الكمالية متوفرة في الوقت الراهن.<br />
<br />
(Source: [[Wikipedia:Secure Shell]])<br />
<br />
== OpenSSH ==<br />
إن openssh (OpenBSD Secure Shell) هو مجموعة من برامج الحاسب التي توفر وسيلة تواصل مشفرة بين شبكة من الحواسيب بإستخدام بروتوكول ssh, تم تطويرها لتُشكل بديلاً عن برمجيات الصدفة الآمنة المملوكة التي تم تطويرها بواسطة SSH Communications Security. إن openSSH تم تطويرها كجزء من مشروع OpenBSD الذي كان بقيادة Theo de Raadt.<br />
<br />
عادةً ما يتم الخلط بين openSSH و بين OpenSSL, كلا المشروعين لديه هدفه الخاص ولا علاقة له بالمشروع الآخر, لكن تشابه الأسماء يشير فقط الى التشابه في الهدف الذي هو توفير بدلا مفتوح المصدر عن البرمجيات المملوكة.<br />
<br />
=== Installing OpenSSH ===<br />
قم بتنصيب حزمة OpenSSH من المستودعات الرسمية<br />
=== تهيئة إعدادات ssh ===<br />
====العميل====<br />
إن ملفي الإعدادات الخاصين بعميل ssh هما {{ic|/etc/ssh/ssh_config}} أو {{ic|~/.ssh/config}}.<br />
<br />
مثال عن ملف الإعدادت :<br />
<div align=left dir=ltr><br />
{{hc|/etc/ssh/ssh_config|<br />
# $OpenBSD: ssh_config,v 1.26 2010/01/11 01:39:46 dtucker Exp $<br />
<br />
# This is the ssh client system-wide configuration file. See<br />
# ssh_config(5) for more information. This file provides defaults for<br />
# users, and the values can be changed in per-user configuration files<br />
# or on the command line.<br />
<br />
# Configuration data is parsed as follows:<br />
# 1. command line options<br />
# 2. user-specific file<br />
# 3. system-wide file<br />
# Any configuration value is only changed the first time it is set.<br />
# Thus, host-specific definitions should be at the beginning of the<br />
# configuration file, and defaults at the end.<br />
<br />
# Site-wide defaults for some commonly used options. For a comprehensive<br />
# list of available options, their meanings and defaults, please see the<br />
# ssh_config(5) man page.<br />
<br />
# Host *<br />
# ForwardAgent no<br />
# ForwardX11 no<br />
# RhostsRSAAuthentication no<br />
# RSAAuthentication yes<br />
# PasswordAuthentication yes<br />
# HostbasedAuthentication no<br />
# GSSAPIAuthentication no<br />
# GSSAPIDelegateCredentials no<br />
# BatchMode no<br />
# CheckHostIP yes<br />
# AddressFamily any<br />
# ConnectTimeout 0<br />
# StrictHostKeyChecking ask<br />
# IdentityFile ~/.ssh/identity<br />
# IdentityFile ~/.ssh/id_rsa<br />
# IdentityFile ~/.ssh/id_dsa<br />
# Port 22<br />
# Protocol 2,1<br />
# Cipher 3des<br />
# Ciphers aes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,aes128-cbc,3des-cbc<br />
# MACs hmac-md5,hmac-sha1,umac-64@openssh.com,hmac-ripemd160<br />
# EscapeChar ~<br />
# Tunnel no<br />
# TunnelDevice any:any<br />
# PermitLocalCommand no<br />
# VisualHostKey no<br />
# ProxyCommand ssh -q -W %h:%p gateway.example.com<br />
}}<br />
</div><br />
من المُفضل تغيير السطر الخاص بنوع البروتوكول الى السطر التالي :<br />
Protocol 2<br />
<br />
هذا يعني أن البروتوكول 2 سيتم إستخدامه فقط، لأن البروتوكول 1 يتم إعتباره غير آمنة بالمقارنة من البروتوكول 2.<br />
<br />
====خدمة ssh====<br />
يمكن الحصول وتعديل على إعدادات خدمة ssh في الملف {{ic|/etc/ssh/ssh'''d'''_config}}.<br />
<br />
مثال عن ملف الإعدادات :<br />
<div align=left dir=ltr><br />
{{hc|/etc/ssh/sshd_config|2=<br />
# $OpenBSD: sshd_config,v 1.82 2010/09/06 17:10:19 naddy Exp $<br />
<br />
# This is the sshd server system-wide configuration file. See<br />
# sshd_config(5) for more information.<br />
<br />
# This sshd was compiled with PATH=/usr/bin:/bin:/usr/sbin:/sbin<br />
<br />
# The strategy used for options in the default sshd_config shipped with<br />
# OpenSSH is to specify options with their default value where<br />
# possible, but leave them commented. Uncommented options change a<br />
# default value.<br />
<br />
#Port 22<br />
#AddressFamily any<br />
#ListenAddress 0.0.0.0<br />
#ListenAddress ::<br />
<br />
# The default requires explicit activation of protocol 1<br />
#Protocol 2<br />
<br />
# HostKey for protocol version 1<br />
#HostKey /etc/ssh/ssh_host_key<br />
# HostKeys for protocol version 2<br />
#HostKey /etc/ssh/ssh_host_rsa_key<br />
#HostKey /etc/ssh/ssh_host_dsa_key<br />
#HostKey /etc/ssh/ssh_host_ecdsa_key<br />
<br />
# Lifetime and size of ephemeral version 1 server key<br />
#KeyRegenerationInterval 1h<br />
#ServerKeyBits 1024<br />
<br />
# Logging<br />
# obsoletes QuietMode and FascistLogging<br />
#SyslogFacility AUTH<br />
#LogLevel INFO<br />
<br />
# Authentication:<br />
<br />
#LoginGraceTime 2m<br />
#PermitRootLogin yes<br />
#StrictModes yes<br />
#MaxAuthTries 6<br />
#MaxSessions 10<br />
<br />
#RSAAuthentication yes<br />
#PubkeyAuthentication yes<br />
#AuthorizedKeysFile .ssh/authorized_keys<br />
<br />
# For this to work you will also need host keys in /etc/ssh/ssh_known_hosts<br />
#RhostsRSAAuthentication no<br />
# similar for protocol version 2<br />
#HostbasedAuthentication no<br />
# Change to yes if you do not trust ~/.ssh/known_hosts for<br />
# RhostsRSAAuthentication and HostbasedAuthentication<br />
#IgnoreUserKnownHosts no<br />
# Don't read the user's ~/.rhosts and ~/.shosts files<br />
#IgnoreRhosts yes<br />
<br />
# To disable tunneled clear text passwords, change to no here!<br />
#PasswordAuthentication yes<br />
#PermitEmptyPasswords no<br />
<br />
# Change to no to disable s/key passwords<br />
ChallengeResponseAuthentication no<br />
<br />
# Kerberos options<br />
#KerberosAuthentication no<br />
#KerberosOrLocalPasswd yes<br />
#KerberosTicketCleanup yes<br />
#KerberosGetAFSToken no<br />
<br />
# GSSAPI options<br />
#GSSAPIAuthentication no<br />
#GSSAPICleanupCredentials yes<br />
<br />
# Set this to 'yes' to enable PAM authentication, account processing, <br />
# and session processing. If this is enabled, PAM authentication will <br />
# be allowed through the ChallengeResponseAuthentication and<br />
# PasswordAuthentication. Depending on your PAM configuration,<br />
# PAM authentication via ChallengeResponseAuthentication may bypass<br />
# the setting of "PermitRootLogin without-password".<br />
# If you just want the PAM account and session checks to run without<br />
# PAM authentication, then enable this but set PasswordAuthentication<br />
# and ChallengeResponseAuthentication to 'no'.<br />
UsePAM yes<br />
<br />
#AllowAgentForwarding yes<br />
#AllowTcpForwarding yes<br />
#GatewayPorts no<br />
#X11Forwarding no<br />
#X11DisplayOffset 10<br />
#X11UseLocalhost yes<br />
#PrintMotd yes<br />
#PrintLastLog yes<br />
#TCPKeepAlive yes<br />
#UseLogin no<br />
#UsePrivilegeSeparation yes<br />
#PermitUserEnvironment no<br />
#Compression delayed<br />
#ClientAliveInterval 0<br />
#ClientAliveCountMax 3<br />
#UseDNS yes<br />
#PidFile /var/run/sshd.pid<br />
#MaxStartups 10<br />
#PermitTunnel no<br />
#ChrootDirectory none<br />
<br />
# no default banner path<br />
#Banner none<br />
<br />
# override default of no subsystems<br />
Subsystem sftp /usr/lib/ssh/sftp-server<br />
<br />
# Example of overriding settings on a per-user basis<br />
#Match User anoncvs<br />
# X11Forwarding no<br />
# AllowTcpForwarding no<br />
# ForceCommand cvs server<br />
}}<br />
</div><br />
لكي يتم السماح بالولوج فقط لمُستخدمين مُحددين، قم بإضافة السطر التالي الى ملف الإعدادت :<br />
<div align=left dir=ltr><br />
AllowUsers user1 user2<br />
</div><br />
<br />
ولإلغاء تفعيل دخول المستخدم الجذر root مباشرةً عبر خدمة ssh، قم بتعديل قمية الخاصية PermitRootLogin الى التالي :<br />
<div align=left dir=ltr><br />
PermitRootLogin no<br />
</div><br />
<br />
ولكي تُضيف رسالة ترحيب، قم بتعديل ملف {{ic|/etc/issue}} ومن ثم قم بتعديل السطر الخاص بالقيمة Banner الى التالي :<br />
<div align=left dir=ltr><br />
Banner /etc/issue<br />
</div><br />
<br />
{{تلميح : لربما تريد تغيير المنفذ الإفتراضي من 22 الى رقم منفذ أعلى منه (يُمكنك الرجوع الى المقال security through obscurity) (راجع [http://en.wikipedia.org/wiki/Security_through_obscurity security through obscurity]).}} <br />
<br />
وعلى الرغم من أن منفذ ssh يُمكن الكشف عنه بسهولةبإحدى أدوات المسح الخاصة بالشبكات nmap، لكن تغييره سيُفيد بتقليل عدد محاولات الدخول المؤتمتة، للمساعدة في إختيار رقم منفذ مناسب قم بمراجعة المقال التالي [[Wikipedia:List of TCP and UDP port numbers|list of TCP and UDP port numbers]].<br />
<br />
{{Tip|إلغاء تفعيل الدخول عن طريق كلمات المرور ستُزيد بشكل كبير من الأمان راجع مقال [[SSH Keys]] لمزيد من المعلومات.}}<br />
<br />
=== إدارة خدمة ssh ===<br />
يمكن بدء خدمة ssh بإستخدام التعلمية التالية :<br />
<div align=left dir=ltr><br />
# systemctl start sshd<br />
</div><br />
<br />
ويمكن تفعيل تشغيل خدمة ssh عند بدء تشغيل النظام بواسطة التعليمة التالية : # systemctl enable sshd.service<br />
<br />
{{تحذير|إن Systemd هو غير متزامن في بدء العمليات، لذا فإذا قُمت بتحديد خدمة ssh الى عنوان ip مُحدد ListenAddress 192.168.1.100، فيمكن أن تفشل في البدء أثناء الإقلاع، يُمكن حل هذه المشكلة بإضافة After&#61;network.target الى ملف الواحدة المُخصص، قم بمراجعة [[Systemd#Replacing provided unit files]].}}<br />
<br />
أو أن تقوم ببدء تشغيل خدمة ssh عند أول إتصال تتلقاه :<br />
# systemctl enable sshd.socket<br />
إذا كنت تستخدم منفذ غير منفذ 22 الإفتراضي، عليك وضع القيمة "ListenStream" في ملف الوحدة<br />
في ملف /etc/systemd/system/sshd.socket قم بتغيير القيمة "ListenStream" الى المنفذ المناسب.<br />
<br />
=== الإتصال بالخادم ===<br />
لكي تقوم بالإتصال بالخادم قم بتنفيذ التعليمة التالية :<br />
<div align=left dir=ltr><br />
$ ssh -p port user@server-address<br />
</div><br />
<br />
== عملاء و خوادم ssh الاخرى ==<br />
بعيدًا عن OpenSSH؛ يوجد هناك العديد من عملاء و خوادم ssh متاحة للإستخدام [[Wikipedia:Comparison of SSH clients|clients]] و [[Wikipedia:Comparison of SSH servers|servers]].<br />
<br />
=== Dropbear ===<br />
[[Wikipedia:Dropbear (software)|Dropbear]] هو خادم وعميل ssh-2. حزمة {{AUR|dropbear}} متوفرة في [[AUR]].<br />
<br />
إن عميل ssh الخاص بموجه الأوامر يُسمى dbclient.<br />
<br />
=== SSH alternative: Mobile Shell - responsive, survives disconnects ===<br />
From the Mosh [http://mosh.mit.edu/ website]:<br />
<br />
Remote terminal application that allows roaming, supports intermittent connectivity, and provides intelligent local echo and line editing of user keystrokes. Mosh is a replacement for SSH. It's more robust and responsive, especially over Wi-Fi, cellular, and long-distance links.<br />
<br />
[[pacman|Install]] {{Pkg|mosh}} from the [[official repositories]] or the latest revision {{AUR|mosh-git}} in the [[AUR]].<br />
<br />
== تلمحيات ==<br />
<br />
=== Encrypted SOCKS tunnel ===<br />
هذه التلميحة مُفيدة جدًا لمستخدمي الحواسيب المُحمولة الذين يتصلون بشبكات WiFi غير آمنة. الشيء الوحيد الذي ستحتاج إليه هو خادم ssh يعمل في مكان آمن (العمل أو المنزل). من المفيد إستخدام خدمة DNS ديناميكية :[http://www.dyndns.org/ DynDNS] كمثال، لذا فلن تحتاج الى تذكر عنوان IP الخاص بك.<br />
<br />
==== الخطوة الولى : قم ببدء الإتصال ====<br />
عليك فقط تنفيذ التعليمة التالية لكي تقوم ببدء الإتصال بخادم ssh : $ ssh -TND 4711 user@host<br />
حيث {{Ic|"user"}} هو اسم المستخدم الخاص بك على الخادم {{Ic|"host"}}، سوف يتم سؤالك عن كلمة المرور الخاصة بك. بعد ذلك تكون قد قمت بالإتصال بنجاح. الراية {{Ic|"N"}} fتقوم بإلغاء تفعيل موجه الأوامر التفاعلي بينما الراية D تقوم بتحديد منفذ محلي يمكنك الإتصال منه (تستطيع إختيار أي رقم تريده). الراية {{Ic|"T"}} تقوم بإلغاء تفعيل حصة pseudo-tty.<br />
<br />
من المفيد استخدام الراية {{Ic|"-v"}} لأنها تسمح لك من التأكد من أن عملية الإتصال تمت بنجاح من المخرجات.<br />
<br />
==== الخطوة الثانية : إعداد المتصفح (أو بقية البرامج) ====<br />
الخطوة السابقة عديمة الجدوى تمامًا إن لم تقترن بالإعداد الصحيح لمتصفح الويب -أو أي برنامج آخر- لإستخدام انبوب socks الذي قمنا بإنشاءه.<br />
وبما أن النسخة الحالية من ssh تدعم SOCKS4 و SOCKS5 فيمكنك إستخدام أي منهما.<br />
<br />
لإعداد متصفح firefox : في البداية قم بالدخول الى Edit → Preferences → Advanced → Network → Connection → Setting :<br />
قم بتحديد الخيار "Manual proxy configuration" وقم بإدخال القيمة "localhost" في مربع النص المُعنون "SOCKS host" ومن ثم قم بإدخال رقم المنفذ الذي قمت بتحديده في الخطوة السابقة (تم إستخدام 4711)<br />
<br />
متصفح firefox لا يقوم بشكل تلقائي بعمل طلبات DNS عبر انبوب socks، هذا الأمر قد يُعرض خصوصيتك للخر لذا قم بعمل الخطوات التالية :<br />
<br />
- قم بطلب الصفحة about:config في شريط العنوان الخاص بمتصفح firefox<br />
- ابحث عن الراية network.proxy.socks_remote_dns<br />
- قم بتحديد true كقيمة لهذه الراية<br />
- قم بإعادة تشغيل المتصفح<br />
<br />
وأما مُتصفح Chromium فيمكنك تحديد إعدادات socks كمتغيرات خاصة بالبيئة أو بإستخدامها كوسيط في سطر الأوامر، أنا أفضل إضافة إحدى الدالتين الى ملف {{ic|.bashrc}} الخاص بك :<br />
<div align=left dir=ltr><br />
function secure_chromium {<br />
port=4711<br />
export SOCKS_SERVER=localhost:$port<br />
export SOCKS_VERSION=5<br />
chromium &<br />
exit<br />
}<br />
</div><br />
أو<br />
<div align=left dir=ltr><br />
function secure_chromium {<br />
port=4711<br />
chromium --proxy-server="socks://localhost:$port" &<br />
exit<br />
}<br />
</div><br />
<br />
الآن قم بفتح نافذة الطرفية و نفذ الأمر التالي :<br />
<div align=left dir=ltr><br />
$ secure_chromium<br />
</div><br />
<br />
=== تمرير X11 ===<br />
إذا أردت تشغيل برمجيات رسومية عبرإتصال ssh، يتوجب عليك تفعيل خيار تمرير X11 في ملفات الإعدادات في الخادم و العميل (هنا "العميل" هو الجهاز الذي يعمل عليه خادم X11 و يقوم بالإتصال بخدمات X11 من جهاز "الخادم").<br />
<br />
قم بتنصيب الحزمة {{Pkg|xorg-xauth}} من المستودعات الرسمية الى الخادم<br />
<br />
قم بتفعيل الخيار AllowTcpForwarding في ملف {{ic|ssh'''d'''_config}} على الخادم<br />
قم بتفعيل الخيار X11Forwarding في ملف {{ic|ssh'''d'''_config}} على الخادم<br />
قم بتحديد قيمة الخيار X11DisplayOffset في ملف {{ic|ssh'''d'''_config}} على الخادم الى الرقم 10<br />
قم بتفعيل الخيار X11UseLocalhost في ملف {{ic|ssh'''d'''_config}} على الخادم<br />
يتوجب عليك أيضًا :<br />
تفعيل الخيار X11UseLocalhost في ملف {{ic|ssh_config}} على العميل<br />
قم بتفعيل الخيار ForwardX11Trusted إذا وجدت مشاكل في الواجهة الرسومية<br />
<br />
بالطبع يتوجب عليك إعادة تشغيل خدمة ssh في الخادم لكي يتم تطبيق الإعدادت السابقة .<br />
<br />
عندما تقوم بإتسخدام تمرير X11 قم بتنفيذ الأمر التالي في الطرفية <br />
<div align=left dir=ltr><br />
$ ssh -X -p port user@server-address<br />
</div><br />
إذا واجهت مشكل في تشغيل البرمجيات الرسومية قم بعمل تمرير موثوق مستخدمًا الأمر التالي :<br />
<div align=left dir=ltr><br />
$ ssh -Y -p port user@server-address<br />
</div><br />
الآن عندما تقوم بتشغيل البرمجيات الرسومية على الخادم، فسيتم تمرير المخرجات الى جهازك المحلي.<br />
<div align=left dir=ltr><br />
$ xclock<br />
</div><br />
<br />
إذا واجهت أخطاء من قبيل "Cannot open display"، قم بتطبيق التعليمة التالية كمستخدم غير مدير للنظام :<br />
<div align=left dir=ltr><br />
$ xhost +<br />
</div><br />
<br />
التعليمة السابقة تقوم بالسماح بتمرير تطبيقات X11 للجميع، إذا أردت حصر ذلك بجهاز معين قم بإستخدام التعليمة التالية :<br />
<div align=left dir=ltr><br />
$ xhost +hostname<br />
</div><br />
<br />
حيث hostname هو اسم الجهاز الذي تريد تمرير إتصالات X11 له. يمكنك الرجوع الى "man xhost" لمزيد من المعلومات عن إستخدام هذا التعليمة.<br />
<br />
كن حذرًا مع بعض البرامج التي تتحقق من بيئة العمل المُستخدمة على الجهاز المحلي، مثال عليها برنامج firefox. فيمكنك إغلاق برنامج firefox أو عن طريق تشغيل firefox مفعلًا الخيار -no-remote :<br />
<div align=left dir=ltr><br />
$ firefox -no-remote<br />
</div><br />
<br />
If you get "X11 forwarding request failed on channel 0" when you connect (and the server /var/log/errors.log shows "Failed to allocate internet-domain X11 display socket"), try to either<br />
* Enable the '''AddressFamily any''' option in {{ic|ssh'''d'''_config}} on the '''server''', or<br />
* Set the '''AddressFamily''' option in {{ic|ssh'''d'''_config}} on the '''server''' to inet.<br />
Setting it to inet may fix problems with Ubuntu clients on IPv4.<br />
<br />
=== تمرير المنافذ الاخرى ===<br />
بالإضافة الى خاصية تمرير X11 المدمجة مع ssh، يمكنك إنشاء نفق آمن لأي من إتصالات TCP، وذلك بإستخدام تمرير محلي أو عن بُعد.<br />
التمرير المحلي يقوم بفتح منفذ في الجهاز المحلي، الإتصالات سيتم تمريرها الى الخادم البعيد ومن ثم من هناك ستصل الى وجهتها.<br />
Very often, the forwarding destination will be the same as the remote host, thus providing a secure shell and, e.g. a secure VNC connection, to the same machine. Local forwarding is accomplished by means of the {{Ic|-L}} switch and it's accompanying forwarding specification in the form of {{Ic|<tunnel port>:<destination address>:<destination port>}}.<br />
<br />
Thus:<br />
<br />
$ ssh -L 1000:mail.google.com:25 192.168.0.100<br />
<br />
will use SSH to login to and open a shell on 192.168.0.100, and will also create a tunnel from the local machine's TCP port 1000 to mail.google.com on port 25. Once established, connections to localhost:1000 will connect to the Gmail SMTP port. To Google, it will appear that any such connection (though not necessarily the data conveyed over the connection) originated from 192.168.0.100, and such data will be secure as between the local machine and 192.168.0.100, but not between 192.168.0.100, unless other measures are taken.<br />
<br />
Similarly:<br />
<br />
$ ssh -L 2000:192.168.0.100:6001 192.168.0.100<br />
<br />
will allow connections to localhost:2000 which will be transparently sent to the remote host on port 6001. The preceding example is useful for VNC connections using the vncserver utility--part of the tightvnc package--which, though very useful, is explicit about its lack of security.<br />
<br />
Remote forwarding allows the remote host to connect to an arbitrary host via the SSH tunnel and the local machine, providing a functional reversal of local forwarding, and is useful for situations where, e.g., the remote host has limited connectivity due to firewalling. It is enabled with the {{Ic|-R}} switch and a forwarding specification in the form of {{Ic|<tunnel port>:<destination address>:<destination port>}}.<br />
<br />
Thus:<br />
<br />
$ ssh -R 3000:irc.freenode.net:6667 192.168.0.200<br />
<br />
will bring up a shell on 192.168.0.200, and connections from 192.168.0.200 to itself on port 3000 (remotely speaking, localhost:3000) will be sent over the tunnel to the local machine and then on to irc.freenode.net on port 6667, thus, in this example, allowing the use of IRC programs on the remote host to be used, even if port 6667 would normally be blocked to it.<br />
<br />
Both local and remote forwarding can be used to provide a secure "gateway," allowing other computers to take advantage of an SSH tunnel, without actually running SSH or the SSH daemon by providing a bind-address for the start of the tunnel as part of the forwarding specification, e.g. {{Ic|<tunnel address>:<tunnel port>:<destination address>:<destination port>}}. The {{Ic|<tunnel address>}} can be any address on the machine at the start of the tunnel, {{Ic|localhost}}, {{Ic|*}} (or blank), which, respectively, allow connections via the given address, via the loopback interface, or via any interface. By default, forwarding is limited to connections from the machine at the "beginning" of the tunnel, i.e. the {{Ic|<tunnel address>}} is set to {{Ic|localhost}}. Local forwarding requires no additional configuration, however remote forwarding is limited by the remote server's SSH daemon configuration. See the {{Ic|GatewayPorts}} option in {{Ic|sshd_config(5)}} for more information.<br />
<br />
=== تسريع ssh ===<br />
يُمكنك جعل جميع الجلسات الى الخادم نفسه تستخدم إتصالًا واحدًا، هذا يؤدي الى تسريع عملية الولوج، وذلك بإضافة السطور التالية تحت اسم المُضيف المُناسب في ملف {{ic|/etc/ssh/ssh_config}} :<br />
<div align=left dir=ltr><br />
ControlMaster auto<br />
ControlPath ~/.ssh/socket-%r@%h:%p<br />
</div><br />
<br />
تغيير خوارزمية التشفير المُستخدمة من قبل ssh تُساعد بشكل كبير على تحسين السرعة. في هذا المجال أفصل الخيارات هي arcfour و blowfish-cbc، رجاءً لا تقم بتغييرها إلا إذا كنت تعلم ما تفعله، لخوارزمية arcfour عدد من الجوانب الضعيفة. لإستخدمهم قم بتنفيذ التعليمة التالية :<br />
<br />
$ ssh -c arcfour,blowfish-cbc user@server-address<br />
لإستخدامها بشكل دائم، ضع هذا السطر تحت اسم المضيف المناسب في ملف {{ic|/etc/ssh/ssh_config}}:<br />
Ciphers arcfour,blowfish-cbc<br />
خيار آخر لكي تُحسن من سرعة SSH هو تفعيل خيار الضغط بإستخدام راية {{Ic|"C"}}. ولتفعيل هذه الميزة دومًا قم بإضافة السطر التالي تحت اسم المُضيف المُناسب في ملف {{ic|/etc/ssh/ssh_config}}:<br />
Compression yes<br />
الوقت الآزم لتسجيل الدخول يُمكن أن يُقلل بإستخدام الراية {{Ic|"4"}}، التي تقوم بتجاوز البحث ببروتوكول IPv6. يُمكن تفعيل هذه الميزة بشكل دائم عن طريق إضافة السطر التالي تحت اسم المُضيف المناسب في ملف {{ic|/etc/ssh/ssh_config}}:<br />
AddressFamily inet<br />
طريقة اخرى لتفعيل هذه الخيارات بشكل دائم هي إنشاء مكافئ في ملف {{ic|~/.bashrc}}:<br />
alias ssh='ssh -C4c arcfour,blowfish-cbc'<br />
<br />
=== وصل نظام ملفات خاص بحاسب بعيد عن طريق sshfs ===<br />
يرجى الرجوع الى مقال [[Sshfs]] لمعرفة المزيد حول وصل نظام الملفات خاص بحاسب بعيد -قابل للوصول عبر ssh- الى مجلد محلي. يمكنك القيام بأي تعليمة وبأي أداة على الملفات الموصولة (نسخ، إعداة تسمية، تعديل بمُحرر vim...الخ). استخدم sshfs عوضًا عن shfs (لم يتم إصدار نسخة جديدة منه منذ 2004 !).<br />
<br />
=== إبقاء الإتصال مفتوحًا ===<br />
جلسة ssh الخاصة بك سوف تقوم بتسجيل الخروج عندما لا يتم إستخدمها، لإبقاء الإتصال مفتوحًا قم بإضافة السطر التالي لأحد الملفين {{ic|~/.ssh/config}} أو {{ic|/etc/ssh/ssh_config}} في جهاز العميل :<br />
<div align=left dir=ltr><br />
ServerAliveInterval 120<br />
</div><br />
<br />
السطر السابق يقوم بإرسال إشارة "keep alive" كل 120 ثانية.<br />
<br />
وبشكل آخر يمكن إبقاء الإتصالات مفتوحة عن طريق تعيين القيمة 120 أو أي رقم آخر أكبر من 0 في ملف {{ic|/etc/ssh/sshd_config}} على الخادم، كالتالي :<br />
<div align=left dir=ltr><br />
ClientAliveInterval 120<br />
</div><br />
<br />
=== حفظ بيانات الإتصال في ملف إعدادات ssh ===<br />
عندما تقوم بالولوج الى خادم ssh، فإنك ستقوم بإدخال اسم المستخدم وعنوان الخادم على الأقل. إذا أردت توقير هذا الوقت; يمكنك استخدام الملف {{ic|$HOME/.ssh/config}} الخاص بك، أو الملف العام {{ic|/etc/ssh/ssh_config}} كما في المثال التالي :<br />
<div align=left dir=ltr><br />
{{hc|$HOME/.ssh/config|<br />
Host myserver<br />
HostName 123.123.123.123<br />
Port 12345<br />
User bob<br />
Host other_server<br />
HostName test.something.org<br />
User alice<br />
CheckHostIP no<br />
Cipher blowfish<br />
}}<br />
</div><br />
الآن يمكنك الإتصال بالخادم عن طريق الأمر التالي :<br />
<div align=left dir=ltr><br />
$ ssh myserver<br />
</div><br />
<br />
للإطلاع على القائمة الكاملة للخيارات التي تستطيع إستخدمها يمكنك الرجوع الى صفحة الدليل الخاصة بـ ssh_config أو مقال[http://www.openbsd.org/cgi-bin/man.cgi?query=ssh_config ssh_config documentation] الموجود في الموقع الرسمي.<br />
<br />
=== إعادة تشغيل جلسات و انفاق ssh تلقائيًا - Autossh ===<br />
عندما يتعذر إبقاء جلسة أو نفق ssh مفتوحًا (على سبيل المثال أوضاع الشبكة سيئة تؤدي الى إنقطاع الإتصال بخادم ssh...)، يمكنك إستخدام الحزمة Autossh لإعادة الإتصال تلقائيًاـ حزمة Autossh يمكن تنصيبها من المستودعات الرسمية.<br />
<br />
أمثلة عن طرق الإستخدام :<br />
<div align=left dir=ltr><br />
$ autossh -M 0 -o "ServerAliveInterval 45" -o "ServerAliveCountMax 2" username@example.com<br />
</div><br />
مدمجة مع خدمة [[ sshfs ]]:<br />
<div align=left dir=ltr><br />
$ sshfs -o reconnect,compression=yes,transform_symlinks,ServerAliveInterval=45,ServerAliveCountMax=2,ssh_command='autossh -M 0' username@example.com: /mnt/example <br />
</div><br />
الإتصال بواسطة وسيط SOCKS :<br />
<div align=left dir=ltr><br />
$ autossh -M 0 "ServerAliveInterval 45" -o "ServerAliveCountMax 2" -NCD 8080 username@example.com <br />
</div><br />
عند إستخدام الخيار -f، Autossh سيتم تشغيله كعملية في الخلفية، تشغيله بهذه الطريقة يعني أنظ لا تستطيع إدخال معلومات الإتصال بشكل تفاعلي.<br />
سيتم إنهاء الجلسة فقط عندما تتم كتابة exit أو عندما تتلقى Autossh إشارة SIGTERM, SIGINT , SIGKILL<br />
<br />
إذا أردت تشغيل autossh تلقائيًا، يُمكنك وبسهولة استخدام systemd، فعلى سبيل المثال يُمكنك إنشاء ملف واحدة خاص بخدمة systemd على الشكل التالي :<br />
<div align=left dir=ltr><br />
[Unit]<br />
Description=AutoSSH service for port 2222<br />
After=network.target<br />
<br />
[Service]<br />
ExecStart=/usr/bin/autossh -M 0 2222:localhost:2222 foo@bar.com<br />
</div><br />
ومن ثم قم بوضعها في ملف -وعلى سبيل المثال- /etc/systemd/system/system/autossh.service، بالطبع يُمكنك إنشاء ملف واحدة أكثر تعقيدًا إذا كان ذلك ضروريًا (يُمكنك الرجوع الى التوثيق الخاص بخدمة systemd لمزيد من التفاصيل)، وبكل تأكيد يُمكنك إستخدام الخيارات الخاصة بك في autossh.<br />
<br />
ومن ثم قم بتفعيل أنفاق autossh كالتالي :<br />
<div align=left dir=ltr><br />
$ systemctl start autossh<br />
</div><br />
(أو حسب ما قمُت بتسمية ملف الواحدة)<br />
<br />
من المُمكن أيضًا التعامل مع عدة عمليات autossh سويًا، وذلك لإبقاء الإتصال مفتوحًا في عدة أنفاق. عليك فقط إنشاء ملفات .service متعددة ذات أسماء مُختلفة.<br />
<br />
== إستكشاف الأخطاء وإصلاحها ==<br />
=== الإتصالات تُرفض أو تنتهي مدتها ===<br />
<br />
==== هل الراوتر لديك يقوم بتمرير المنافذ؟ ====<br />
<br />
قم بتجاوز هذه الخطوة إذا كنت خلف NAT modem/router. (على سبيل المثال VPS أو غيره). أغلب المنازل أو الشركات الصغيرة يكون لديها NAT modem/router.<br />
<br />
أو شيئ يجب التحقق منه هو أن الراوتر لديك يقوم بتمرير إتصالات ssh القادمة الى جهازك المحلي. عنوان IP الخارجي الذي تم إعطاؤه لك من قبل مزود خدمة الإنترنت، وهو نفس العنوان الذي يتم ربطه مع الطلبات الخاجية من قبل الراوتر لديك. لذا يجب على الراوتر أن يعلم أن إتصالات SSH القادمة يجب أن يتم تمريرها الى خدمة sshd في جهازك المحلي.<br />
<br />
قم بمعرفة عنوان ip الخاص بجهازك في الشبكة المحلية :<br />
<div align=left dir=ltr><br />
ip a<br />
</div><br />
قم بالبحث عن الحقل الخاص بقيمة inet. ومن ثم قم بالدخول الى لوحة الإعدادات الخاصة بالراوتر لديك مُستخدمًا عنوان IP الخاص به. قم بإخبار الراوتر لديك بأن يقوم بتمرير الإتصالات الى عنوان inet IP قم بزيارة موقع [http://portforward.com/] لمزيد من المعلومات حول كيفية تمرير المنافذ في الراوتر الخاص بك.<br />
<br />
==== هل خدمة ssh تعمل؟ ====<br />
<div align=left dir=ltr><br />
$ ss -tnlp<br />
</div><br />
إذا لم تُظهر التعليمة السابقة أن منفذ ssh مفتوح فإن خدمة ssh لا تعمل، قم بالتحقق من ملف {{ic|/var/log/messages}} للحصول على الأخطاء.<br />
<br />
==== هل يقوم الجدار الناري الخاص بك بحجب الإتصالات ؟ ====<br />
{{out of date|rc.d is deprecated with systemd}}<br />
Flush your iptables rules to make sure they are not interfering:<br />
<div align=left dir=ltr><br />
# rc.d stop iptables<br />
</div><br />
أو:<br />
<div align=left dir=ltr><br />
# iptables -P INPUT ACCEPT<br />
# iptables -P OUTPUT ACCEPT<br />
# iptables -F INPUT<br />
# iptables -F OUTPUT<br />
</div><br />
==== هل يصل الإتصال أساسًا الى جهازك؟ ====<br />
قم بعمل traffic dump في الجهاز الذي تواجه فيه المشاكل بإستخدام التعليمة التالية:<br />
<div align=left dir=ltr><br />
# tcpdump -lnn -i any port ssh and tcp-syn<br />
</div><br />
سيتم إظهار بعض المعلومات البسيطة، الآن قم بتجربة الإتصال. إذا لم تشاهد أي مخرجات خلال عملية الإتصال, فهذا يعني أن شيئاً ما خارج جهازك يمنع الإتصال (على بسيل المثال : جدار ناري خارجي أو NAT راوتر).<br />
<br />
==== هل يقوم مزود الخدمة الخاص بك أو أي جهة اخرى بحجب المنفذ الإفتراضي ؟ ====<br />
{{Note|قم بتجريب الخطوة التالية فقط إذا كنت '''متأكدًا''' من أنك لا تستخدم أي جدار ناري وقمت بإعداد الراوتر لديك إعدادًا صحيحًا وذلك بتمرير المنفذ الى جهازك المحلي.}}<br />
<br />
في بعض الحالات، يقوم مزود الخدمة الخاص بك بحجب المنفذ الإفتراضي 22 لذا مهما حاولت من طرق فهي لن تُجدي نفعًا.<br />
<br />
إذا واجهتك رسالة شبيهة بالرسالة التالية :<br />
<div align=left dir=ltr><br />
ssh: connect to host www.inet.hr port 22: Connection refused<br />
</div><br />
فهذا لا يعني أن المنفذ قم تم حجبه من قبل مزود الخدمة، بل أن الخادم لا يُشغل خدمة SSH على هذا المنفذ(راجع [http://en.wikipedia.org/wiki/Security_through_obscurity security through obscurity]).<br />
<br />
أما إذا واجهت رسالة كالرسالة التالية :<br />
<div align=left dir=ltr><br />
ssh: connect to host 111.222.333.444 port 22: Operation timed out <br />
</div><br />
هذا يعني أن هنالك شيئ يمنع إتصال TCP على المنفذ 22. إذا كنت متأكدًا تمامًا من الإعداد الصحيح للجدار الناري و/أو الراوتر، فإن ذلك يعني أن المنفذ محجوب من قبل مزود الخدمة.<br />
<br />
To double check, you can run Wireshark on your server and listen to traffic on port 22. Since Wireshark is a Layer 2 Packet Sniffing utility, and TCP/UDP are Layer 3 and above (See [http://en.wikipedia.org/wiki/TCP/IP_model IP Network stack]), if you don't receive anything while connecting remotely, a third party is most likely to be blocking the traffic on that port to your server.<br />
<br />
===== Diagnosis via Wireshark =====<br />
[[pacman|Install]] Wireshark with the {{Pkg|wireshark-cli}} package, available in the [[official repositories]].<br />
<br />
And then run it using,<br />
tshark -f "tcp port 22" -i NET_IF<br />
<br />
where NET_IF is the network interface for a WAN connection (see {{ic|ip a}} to check). If you aren't receiving any packets while trying to connect remotely, you can be very sure that your ISP is blocking the incoming traffic on port 22.<br />
<br />
===== Possible solution =====<br />
The solution is just to use some other port that the ISP isn't blocking. Open the {{ic|/etc/ssh/sshd_config}} and configure the file to use different ports. For example, add:<br />
<br />
Port 22<br />
Port 1234<br />
<br />
Also make sure that other "Port" configuration lines in the file are commented out. Just commenting "Port 22" and putting "Port 1234" won't solve the issue because then sshd will only listen on port 1234. Use both lines to run the SSH server on both ports. <br />
<br />
Restart the server {{ic|systemctl restart sshd.service}} and you're almost done. You still have to configure your client(s) to use the other port instead of the default port. There are numerous solutions to that problem, but let's cover two of them here.<br />
<br />
==== مشكلة Read from socket failed: connection reset by peer ====<br />
الإصدارات التي اطلقت مؤخرًا من openssh تفشل في بعض الأحيان مخرجةً رسالة خطأ كالرسالة السابقة بسبب وجود علّة في خاصية التشفير فيها. في هذه الحالة قم بإضافة السطر التالي الى ملف {{ic|~/.ssh/config}}:<br />
<br />
HostKeyAlgorithms ssh-rsa-cert-v01@openssh.com,ssh-dss-cert-v01@openssh.com,ssh-rsa-cert-v00@openssh.com,ssh-dss-cert-v00@openssh.com,ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,ssh-rsa,ssh-dss<br />
<br />
في إصدار openssh 5.9 السطر السابق لا يقوم بحل المشكلة. لذا قم بوضع السطور التالية في ملف {{ic|~/.ssh/config}}:<br />
<br />
Ciphers aes128-ctr,aes192-ctr,aes256-ctr,aes128-cbc,3des-cbc <br />
MACs hmac-md5,hmac-sha1,hmac-ripemd160<br />
<br />
راجع أيضًا [http://www.gossamer-threads.com/lists/openssh/dev/51339 discussion] في مركز علل openssh<br />
<br />
=== "[الصدفة التي تستخدمها]: No such file or directory" ===<br />
One possible cause for this is the need of certain SSH clients to find an absolute path (one returned by {{Ic|whereis -b [your shell]}}, for instance) in {{Ic|$SHELL}}, even if the shell's binary is located in one of the {{Ic|$PATH}} entries. Another reason can be that the user is no member of the ''network'' group.<br />
<br />
===ظهور رسالة الخطأ "Terminal unknown" أو "Error opening terminal"===<br />
من الممكن عند إستخدام ssh الحصول على أخطاء من من قبيل "Terminal unknown" عندما تحاول تسجيل الدخول. بدء بعض التطبيقات كتطبيق nano يفشل مُظهرًا الرسالة "Error opening terminal". يوجد طريقتين لحل المشاكل من هذا النوع، الطريقة السلهة هي إستخدام المُتغير $TERM، أو باستخدام ملف terminfo.<br />
<br />
====الحل بواسطة المتغير $TERM====<br />
بعد الإتصال الى الخادم، قم بتحديد قيمة المتغير $TERM الى "xterm" مُستخدمًا التعليمة التالية :<br />
<div align=left dir=ltr><br />
{{ic|TERM&#61;xterm}}<br />
</div><br />
هذا الحل يحوي على بعض المشاكل الجانبية. ويتوجب عليك أيضًا أن تقوم بتكرار هذه التعليمة كل مرة تقوم فيها بتسجيل الدخول الى الخادم. أو بشكل بديل يمكنك وضعها في ملف ~.bashrc .<br />
====الحل بإستخدام ملف terminfo====<br />
حل آخر هو نقل ملف terminfo من جهازك المحلي الى الخادم. في هذا المثال سنقوم بشرح كيفية تهيئة ملف terminfo من أجل طرفية من نوع "rxvt-unicode-256color".<br />
قم بإنشاء مجلد يحوي على ملفات terminfo في خادم ssh، عندما تقوم بتسجيل الدخول الى الخادم قم بإستخدام هذه التعليمة :<br />
<div align=left dir=ltr><br />
<br />
{{ic| mkdir -p ~/.terminfo/r/}}<br />
<br />
</div><br />
<br />
الآن قم بنسخ ملف terminfo الخاص بالطرفيتك الى المجلد الجديد. مُستبدلًا ''"rxvt-unicode-256color"'' بالطرفية الخاصة بك في التعليمة التالية و ''ssh-server'' بإسم المستخدم وعنوان الخادم الخاصين بك<br />
<br />
<div align=left dir=ltr><br />
{{ic|$ scp /usr/share/terminfo/r/''rxvt-unicode-256color'' ssh-server:~/.terminfo/r/}}<br />
<br />
</div><br />
بعدما تقوم بتسجيل الخروج ومن ثم تسجيل الدخول مُجددًا، تكون المشكلة قد حُلّت.<br />
<br />
== شاهد أيضًا ==<br />
*[[SSH Keys]]<br />
*[[Pam abl]]<br />
*[[fail2ban]]<br />
*[[sshguard]]<br />
*[[Sshfs]]<br />
*[[Syslog-ng]] : لإرسال log الخاص بـ ssh الى ملف<br />
<br />
== Links & references ==<br />
*[http://www.soloport.com/iptables.html A Cure for the Common SSH Login Attack]<br />
*[http://www.la-samhna.de/library/brutessh.html Defending against brute force ssh attacks]<br />
*[http://www.ibm.com/developerworks/library/l-keyc/index.html OpenSSH key management, Part 1] and [http://www.ibm.com/developerworks/library/l-keyc2 Part 2] on IBM developerWorks<br />
</div></div>Abd allatifhttps://wiki.archlinux.org/index.php?title=Firefox_(%D8%A7%D9%84%D8%B9%D8%B1%D8%A8%D9%8A%D8%A9)&diff=261641Firefox (العربية)2013-06-07T11:33:29Z<p>Abd allatif: </p>
<hr />
<div>[[Category:Web Browser (العربية)]]<br />
[[Category:العربية]]<br />
[[en:Firefox]]<br />
[[cs:Firefox]]<br />
[[es:Firefox]]<br />
[[fr:Firefox]]<br />
[[it:Firefox]]<br />
[[ja:Firefox]]<br />
[[ko:Firefox]]<br />
[[ru:Firefox]]<br />
[[tr:Firefox]]<br />
[[zh-CN:Firefox]]<br />
<div align=right dir=rtl><br />
[http://www.firefox.com Firefox] هو متصفح رسومي شهير مفتوح المصدر من شركة [http://www.mozilla.com Mozilla].<br />
== التنصيب ==<br />
متصفح firefox يُمكن تنصيبه من الحزمة {{Pkg|firefox}} المتوفرة من المستودعات الرسمية.<br />
هنالك عدد من الحزم اللغات متوفرة لمتصفح firefox، غير اللغة الإنكليزية الإفتراضية. حزم اللغات تُسمى عادة {{ic|firefox-i18n-languagecode}}. حيث {{ic|languagecode}} يمكن أن يكون الكود الخاص بالغة ar,fr أو ja ...الخ . للحصول على قائمة كاملة باسماء الحزم يمكنك الرجوع الى الرابط [https://www.archlinux.org/packages/?sort=&q=firefox-i18n&maintainer=&last_update=&flagged=&limit=100 التالي].<br />
<br />
إذا لم يقم firefox بإظهار حواف ناعمة للخطوط، قم بمحاولة تنصيب حزمة الخطوط {{AUR|ttf-win7-fonts}} أو {{AUR|ttf-ms-fonts}} ومن ثم قم بإلقاء نظرة على إعدادت الخطوط.<br />
<br />
<br />
== الملحقات add-ons ==<br />
إن متصفح firefox مشهور بعدد الملحقات الكبير الذي يمكن تنصيبها عليه والتي تجلب مزايا جديدة أو تُعدل سلوك مزايا موجودة مُسبقًا في firefox. يمكنك الحصول على محلقات جديدة أو التحكم في المحلقات المُنصبة مُستخدمًا "مدير المحلقات" الخاص بمتصفح firefox.<br />
للحصول على قائمة بإشهر المحلقات راجع الصفحة التالية [https://addons.mozilla.org/en-US/firefox/extensions/?sort=popular Mozilla's add-on list sorted by popularity].<br />
<br />
== الإضافات plugins ==<br />
لكي تعرف ما هي الإضافات المُنصبة على متصفح firefox قم بإدخال :<br />
<div align=left dir=ltr><br />
about:plugins<br />
</div><br />
في شريط العنوان، أو بالذهاب الى قيد ''Add-ons'' في القوائم ومن ثم قم بتحديد لسان ''Plugins''<br />
<br />
===التكامل مع حافظة مفاتيح GNOME ===<br />
قم بتثبيت {{AUR|firefox-gnome-keyring}} من مستودع [[AUR]] لعمل تكامل فايرفوكس مع حافظة مفاتيح [[GNOME Keyring]]. لجعل firefox-gnome-keyring يستخدم سلسلة مفاتيحك الخاصة بتسجيل الدخول ، قم بتعديل قيمة extensions.gnome-keyring.keyringName إلى "login" (بدون علامات اقتباس) في صفحة about:config. لاحظ الحرف الصغير 'l' رغم أن الاسم في keychain يحتوي على حرف كبير 'L' في الحافظة Seahorse.<br />
<br />
===التكامل مع KDE ===<br />
* To use KDE's KPart technology with Firefox, by embedding different KDE file viewers into the browser, you can install {{Pkg|kpartsplugin}}.<br />
<br />
* To get further integration with KDE's Oxygen theme, you can install [http://kde-look.org/content/show.php/?content=117962 Oxygen KDE], a very comprehensive theme that also has color scheme detection, support for Firefox's Persona themes, support for both the Oxygen and Faenza icons and various other customizations.<br />
<br />
* For integration with KDE’s mime type system and file dialogs, one can use a [https://aur.archlinux.org/packages/firefox-kde-opensuse version of firefox] with OpenSUSE’s patches applied.<br />
<br />
=== القواميس لتصحيح مدخلات المستخدم ===<br />
لكي تقوم بتفعيل التدقيق اللغوي للغة مُحددة، قم بالنقر بالزر الأيمن للفأرة على مربع النص وقم بتفعيل خيار ''Check Spelling''. لكي تُحدد اللغة التي سيتم التدقيق اللغوي فيها قم بالضغط مرة اخرى بالزر الأيمن وقم بتحديد لغتك من القائمة الفرعية المُعنونة ''Languages''.<br />
للحصول على لغات غضافية قم بالضغط على ''Add Dictionaries...'' و من ثم قم بتحديد اللغة التي تريد تنصيبها من الخيارات.<br />
<br />
بشكل بديل، يمكنك تنصيب حزمة {{Pkg|hunspell}} المتوفرة في المستودعات الرسمية، ويتوجب عليك بعدها تنصيب القواميس الخاصة بلغتك كحزمة {{Pkg|hunspell-ar}} للغة العربية و حزمة {{Pkg|hunspell-fr}} للغة الفرنسية.<br />
بشكل إفتراضي، fireofx يقوم بإنشاء روابط الى جميع قواميس hunspell الموجودة في {{ic|/usr/lib/firefox/dictionaries}}. إذا اردت الحصول على قواميس أقل في القائمة المتوفرة في المتصفح، يُمكنك حذف بعض من هذه الروابط. لكن كن مدركًا أن تحديث المتصفح سيقوم بإعادة الروابط التي تم حذفها.<br />
<br />
=== إضافة مُحركات بحث الى متصفح firefox ===<br />
مُحركات البحث يُمكن إضافتها كملحقات عادية، راجع المقال التالي [https://addons.mozilla.org/en-US/firefox/search-tools/ this page] for a list of available search engines.<br />
قائمة كبيرة جدًا بمجركات البحث يمكن أيجادها [http://mycroft.mozdev.org/ هنا].<br />
أيضًا يُمكنك إستخدام المحلق [https://firefox.maltekraus.de/extensions/add-to-search-bar add-to-searchbar] لإضافة محركات البحث الموجودة في أي موقع الى شريط البحث الخاص بك عن طريق الضغط عليه بالزر الأيمن للفأرة وتحديد الخيار ''Add to Search Bar...''.<br />
إذا أردت إضافة مُحركات البحث يدويًا يمكنك إلقاء نظرة على الملف {{ic|~/.mozilla/firefox/profile-id.default/searchplugins/}} (حيث profile-id هو profile ID الخاص بك).<br />
<br />
====حزمة arch-firefox-search ====<br />
يُمكنك تنصيب حزمة {{Pkg|arch-firefox-search}} المتوفرة في المستودعات الرسمية، لإضافة حقل بحث خاص بأرتش لينكس (AUR، الوكي، المنتدى...الخ) في متصفح firefox.<br />
<br />
==مشتقات المتصفح فايرفوكس ==<br />
<br />
* {{App|[[Wikipedia:Mozilla Corporation software rebranded by the Debian project#IceWeasel|Iceweasel]]|نسخة متفرعة من firefox تم تطويرها من قبل فريق عمل debian، لا تحوي على أي علامات تجارية أو شعارات خاصة بشركة Mozilla.|http://wiki.debian.org/Iceweasel|{{AUR|iceweasel}}}}<br />
{{Note|gl.d] لمزيد من المعلومات حول Iceweasel راجع [http://web.glandium.org/blog/?p&#61;97 التدوينة التالية].}}<br />
* {{App|[[Wikipedia:Gnu IceCat|GNU IceCat]]|متصفح ويب تم تطويره من قبل مشروع GNU، يحوي فقط على برمجيات حرة ومتوافق تمامًا مع انظمة GNU/Linux و الإضافات الخاصة بمتصفح firfox. |http://www.gnu.org/software/gnuzilla/|{{AUR|icecat}}}}<br />
* {{App|Firefox KDE|نسخة من متصفح firefox يحوي على رقعة من OpenSUSE لتحقيق أكبر قد من التكامل مع واجهة KDE.|http://gitorious.org/firefox-kde-opensuse|{{AUR|firefox-kde-opensuse}}}}<br />
<br />
== إسكتشاف الأخطاء و إصلاحها ==<br />
<br />
=== تحديد عميل البريد الإلكتروني الخاص بك ===<br />
يقوم firefox عادةً بفتح روابط {{ic|mailto}} بإستخدام تطبيقات الويب كتطبيق Gmail أو Yahoo. لتحديد عميل البريد الإلكتروني المُفضل لديك في firefox الذي ستم فتحه عند الضغط على روابط {{ic|mailto}}، قم بالذهاب الى ''Preferences > Applications'' وقم بتعديل حقل ''action'' الخاص بنوع المحتوى {{ic|mailto}}. بالطبع يتوجب عليك تحديد المسار الكامل لعميل البريد الإلكتروني (على سبيل المثال {{ic|/usr/bin/kmail}} لبرنامج Kmail).<br />
<br />
=== مشاكل Open containing folder في واجهة GNOME3 ===<br />
إذا كنت تتوقع تشغيل متصفح الملفات [[Nautilus]] عندما تقوم بالضغط على خيار "Open Containing Folder" في مدير التنزيلات، لكن متصفح ملفات [[Thunar]] أو [[Wine]] يتم تشغيله عوضًا عنه، يمكنك التحقق من السطرين التاليين في ملف {{ic|~/.local/share/applications/defaults.list}}:<br />
<div align=left dir=ltr><br />
inode/directory=<someprogram>.desktop<br />
x-directory/normal=<someprogram>.desktop<br />
</div><br />
إذا كانت قيمة {{ic|<someprogram>}} ليست {{ic|nautilus}}، فقم بتغييرها الى ذلك.<br />
<br />
=== مشاكل Open containing folder في واجهة KDE ===<br />
اذا كنت تتوقع تشغيل متصفح الملفات المُفضل لديك عندما تقوم بالضغط على خيار "Open Containing Folder" في مدير التنزيلات، لكن متصفح ملفات آخر تم تشغيله عوضًا عنه، يمكنك إستخدام متصفح الملفات المفضل لديك وليكن [[Dolphin]] في لوحة التحكم الخاصة بكدي تحت ''Workspace Appearance and Behavior > Default Applications > File Manager''.<br />
إذا كان firefox ما يزال لا يفتح المجلدات بمتصفح الملفات الذي تُفضل قم بتعديل الملف التالي مُضمنًا السطرين التاليين :<br />
<div align=left dir=ltr><br />
x-directory/normal=kde4-dolphin.desktop;kde4-kfmclient_dir.desktop;<br />
inode/directory=kde4-dolphin.desktop;kde4-kfmclient_dir.desktop;kde4-gwenview.desktop;kde4-filelight.desktop;kde4-cervisia.desktop;<br />
</div><br />
===استمرار فايرفوكس في إنشاء الدليل Desktop/~ حتى ولو لم يكن مطلوبا ===<br />
متصفح firefox يستخدم {{ic|~/Desktop}} كمكان افتراضي للملفات المحملة والمرفوعة. يمكنك وضعها الى مجلد آخر عن طريق إنشاء ملف {{ic|~/.config/user-dirs.dirs}} وإضافة الأسطر التالية إليه :<br />
<div align=left dir=ltr><br />
XDG_DESKTOP_DIR="/home/<user>/"<br />
XDG_DOWNLOAD_DIR="/home/<user>/<dir>"<br />
XDG_TEMPLATES_DIR="/home/<user>/<dir>"<br />
XDG_PUBLICSHARE_DIR="/home/<user>/<dir>"<br />
XDG_DOCUMENTS_DIR="/home/<user>/<dir>"<br />
XDG_MUSIC_DIR="/home/<user>/<dir>"<br />
XDG_PICTURES_DIR="/home/<user>/<dir>"<br />
XDG_VIDEOS_DIR="/home/<user>/<dir>"<br />
</div><br />
قم بتغيير {{ic|<user>}} و {{ic|<dir>}} إلى المجلد الفعلي لديك.<br />
<br />
=== إلزام الإضافات بمنع النوافذ المنبثقة ===<br />
بعض الإضافات تقوم بتجاوز الإعدادات الإفتراضية، كإضافة Flash. لذا يمكنك منع ذلك عن طريق التالي :<br />
<br />
# قم بكتابة {{ic|about:config}} في شريط العنوان.<br />
# قم بالضغط بالزر الأيمن للفأرة وقم بالنقر على {{ic|New}} ومن ثم النقر على {{ic|Integer}}.<br />
# قم بتسمة الخاصية الجديدة {{ic|privacy.popups.disable_from_plugins}}.<br />
# قم بتحديد قيمتها الى 2.<br />
<br />
القيم المُمكنة هي :<br />
* '''0''': قم بالسماح بالنوافذ المنبثقة من جميع الإضافات.<br />
* '''1''': قم بالسماح بالنوافذ المنبثقة لكن قم بتحديدهم بقيمة الخيار dom.popup_maximum.<br />
* '''2''': قم بمنع النوافذ المنبثقة من الإضافات.<br />
* '''3''': قم بمنع النوافذ المنبثقة من الإضافاتن حتى في المواقع المسموح بها.<br />
<br />
===رسائل خطأ زر الفأرة اﻷوسط ===<br />
رسالة خطأ شهيرة تنتج عن الضغط على زر الفأرة الأوسط هي :<br />
<div align=left dir=ltr><br />
The URL is not valid and cannot be loaded.<br />
</div><br />
أيضًا قد يحدث سلوك غير متوقع عند الضغط على الزر الأوسط، كفتح صفحة عشوائية.<br />
<br />
السبب وراء هذه المشكلة هو طريقة إستخدام زر الفأرة الأوسط في الانظمة الشبيهة باليونكس. الزر الأوسط يقوم بلصق النص الذي تم تحديده أو نسخه الى الحافظة. لربما يحدث إلتباس في firefox الذي يكون السلوك الإفتراضي هو فتح الرابط الذي تم الضغط عليه في لسان جديد. يمكن تعطيل هذه الميزة عن طريق الذهاب الى {{ic|about:config}} وتحديد قيمة الخيار {{ic|middlemouse.contentLoadURL}} الى القيمة'''false'''. <br />
<br />
بشكل آخر، إذا أردت إستعادة التمرير بإستخدام الزر الأوسط (السلوك الإفتراضي في نظام windows). يمكن تفعيل ذلك بالبحث عن الخيار {{ic|general.autoScroll}} وتحديد قيمةته الى القيمة '''true'''.<br />
<br />
===مفتاح Backspace لا يعمل كزر عودة ===<br />
حسب [http://ubuntu.wordpress.com/2006/12/21/fix-firefox-backspace-to-take-you-to-the-previous-page/ هذا المقال]، فإن هذه الميزة تمت إزالتها لحل علّة في المتصفح. لكي تُعيد سلوكها الى ما كانت عليه قم بالذهاب الى {{ic|about:config}} وتحديد قيمة الخيار {{ic|browser.backspace_action}} الى القيمة صفر '''0'''<br />
<br />
===فايرفوكس لا يتذكر بيانات تسجيل الدخول ===<br />
بسبب حدوث عطب في ملف {{ic|cookies.sqlite}} الموجود في مجلد [http://support.mozilla.com/en-US/kb/Profiles#How_to_find_your_profile Firefox's profile]. لكي تحل هذه المشكلة قم بإعادة تسمية أو حذف ملف {{ic|cookie.sqlite}} عندما يكون متصفح firefxo مغلقًا.<br />
<br />
قم بفتح الطرفية وكتالبة هذه الأوامر فيها :<br />
<div align=left dir=ltr><br />
$ cd ~/.mozilla/firefox/xxxxxxxx.default/<br />
$ rm -f cookies.sqlite<br />
</div><br />
{{Note|xxxxxxxx تعني ثمانية محارف عشوائية.}}<br />
<br />
قم الآن بإعادة تشغيل firefox وانظر هل تم حل المشكلة أم لا.<br />
<br />
===حقول الإدخال غير مقروءة مع ثيمات dark GTK+ ===<br />
عندما تقوم بإستخدام ثيمات [[GTK+]] داكنة للون، ربما تظهر بعض الحقول في صفحات الويب بشكل غير مقروء (على سبيل المثال الخط ابيض على خلفية بيضاء في موقع Amazon). هذا يحدث عندما يقوم الموقع بتحديد لون الخلفية أو النص فقط، ويقوم firefox بإخد القيمة الاخرى من الثيمة.<br />
<br />
لحل هذه المشكلة يجب عليك تحديد قيمة معيارية للألوان في جميع الصفحات في ملف {{ic|~/.mozilla/firefox/xxxxxxxx.default/chrome/userContent.css}}.<br />
<br />
التالي يقوم بتحديد لون أسود على خلفية بيضاء لجميع حقول النص في نماذج HTML، كلا اللونين يمكن تحديد قيمته من قبل الموقع الذي تتم زيارته، لذا فإن الالوان تظهر كما يجب:<br />
<div align=left dir=ltr><br />
{{bc|<br />
input {<br />
-moz-appearance: none !important;<br />
background-color: white;<br />
color: black;<br />
}<br />
<br />
textarea {<br />
-moz-appearance: none !important;<br />
background-color: white;<br />
color: black;<br />
}<br />
<br />
select {<br />
-moz-appearance: none !important;<br />
background-color: white;<br />
color: black;<br />
}<br />
}}<br />
</div><br />
الكود التالي سيجبر إستخدام الألوان من قبل جميع الصفحات :<br />
<div align=left dir=ltr><br />
{{bc|<br />
input {<br />
-moz-appearance: none !important;<br />
background-color: pink !important;<br />
color: green !important;<br />
}<br />
<br />
textarea {<br />
-moz-appearance: none !important;<br />
background-color: pink !important;<br />
color: green !important;<br />
}<br />
<br />
select {<br />
-moz-appearance: none !important;<br />
background-color: pink !important;<br />
color: green !important;<br />
}<br />
}}<br />
</div><br />
قم بتغيير قيم الألوان الى أن تلائم إحتياجاتك، أو بإمكانك إستخدام إضافة [https://addons.mozilla.org/en-US/firefox/addon/2108 Stylish]<br />
<br />
=== مشاكل الملفات ذات الصلة ===<br />
للمستخدمين الذين لا يستخدمون واجهة [[GNOME]]، متصفح firefox قد لا يقوم بربط البرامج بشكل صحيح، لحل المشكلة قم بتنصيب حزمة {{Pkg|libgnome}} من المستودعات الرسمية.<br />
<br />
إذا كنت تستخدم واجهة KDE يمكنك أيضًا القيام بالتالي :<br />
<div align=left dir=ltr><br />
ln -s ~/.local/share/applications/mimeapps.list ~/.local/share/applications/mimeinfo.cache<br />
</div><br />
الآن متصفح firefox يجب أن يقوم بتشغيل البرمجيات الصحيحة.<br />
<br />
==="هل تريد من فايرفوكس أن يحتفظ بألسنة التصفح عند بدئه المرة القادمة؟" المربع الحواري لا يظهر ===<br />
من موقع [http://support.mozilla.com/en-US/questions/767751 Mozilla Support] :<br />
<br />
# اكتب {{ic|about:config}} in the address bar.<br />
# اضبط {{ic|browser.warnOnQuit}} على '''true'''.<br />
# اضبط {{ic|browser.showQuitWarning}} على '''true'''.<br />
<br />
===فايرفوكس يستخدم خطوطا قبيحة في واجهته ===<br />
إذا شعرت بأن الخطوط التي يستخدمها متصفح firefox قبيحة. هنالك إحتمال بأنه ينقصك خطوط أجمل في firefox. ببساطة قم بتنصيب خطوط "Type 1" من حزمة {{Pkg|xorg-fonts-type1}} المتوفرة في المستودعات الرسمية.<br />
<br />
===فايرفوكس يستخدم خطوطا قبيحة في صفحات معينة ===<br />
عندما يستخدم متصفح firefox خطوط نقطية، ينتج عن ذلك خطوط قبيحة جدًا في عدد من الصفحات مقارنةً مع متصفح Google Chrome على سبيل المثال :<br />
<br />
http://i.imgur.com/SMVdi.png vs http://i.imgur.com/jNmxU.png<br />
<br />
لحل هذه المشكلة ، قم بإلغاء تفعيل الخطوط النقطية لمخدم العرض X :<br />
<div align=left dir=ltr><br />
# ln -s /etc/fonts/conf.avail/70-no-bitmaps.conf /etc/fonts/conf.d/<br />
</div><br />
===حل بعض مشكلات خطوط فايرفوكس بخطوط جوجل ===<br />
بعض مشكلات الخطوط في متصفح firefox يُمكن حلها عن طريق تنصيب خطوط Google من حزم AUR {{AUR|ttf-google-fonts-hg}} أو {{AUR|ttf-google-fonts-git}}. هذه الخطوط ستقوم بتحسين عرض تطبيقات Google Drive بشكل كبير.<br />
<br />
===لا يمكن انسدال القائمة بعد الترقية لفايرفوكس 13 ===<br />
هذه المشكلة متعلقة [https://bugzilla.mozilla.org/show_bug.cgi?id=787943 بهذه العلة]، هذه العلة قد تؤثر على أي مستخدم يقوم بهذا الضبط :<br />
<div align=left dir=ltr><br />
GTK_IM_MODULE=xim<br />
</div><br />
عندما يقوم بتهيئة إعدادات الإدخال.<br />
<br />
== انظر أيضا ==<br />
* [http://www.mozilla.org/firefox/ Official Website]<br />
* [http://www.mozilla.org/ Mozilla Foundation]<br />
* [https://wiki.mozilla.org/Firefox Firefox Wiki]<br />
* [https://addons.mozilla.org/ Firefox Add-ons]<br />
* [http://www.getpersonas.com/ Firefox Persona Themes]<br />
</div></div>Abd allatifhttps://wiki.archlinux.org/index.php?title=Firefox_(%D8%A7%D9%84%D8%B9%D8%B1%D8%A8%D9%8A%D8%A9)&diff=261276Firefox (العربية)2013-06-05T15:22:27Z<p>Abd allatif: </p>
<hr />
<div>[[Category:Web Browser (العربية)]]<br />
[[Category:العربية]]<br />
[[en:Firefox]]<br />
[[cs:Firefox]]<br />
[[es:Firefox]]<br />
[[fr:Firefox]]<br />
[[it:Firefox]]<br />
[[ja:Firefox]]<br />
[[ko:Firefox]]<br />
[[ru:Firefox]]<br />
[[tr:Firefox]]<br />
[[zh-CN:Firefox]]<br />
<div align=right dir=rtl><br />
[http://www.firefox.com Firefox] هو متصفح رسومي شهير مفتوح المصدر من شركة [http://www.mozilla.com Mozilla].<br />
== التنصيب ==<br />
متصفح firefox يُمكن تنصيبه من الحزمة {{Pkg|firefox}} المتوفرة من المستودعات الرسمية.<br />
هنالك عدد من الحزم اللغات متوفرة لمتصفح firefox، غير اللغة الإنكليزية الإفتراضية. حزم اللغات تُسمى عادة {{ic|firefox-i18n-languagecode}}. حيث {{ic|languagecode}} يمكن أن يكون الكود الخاص بالغة ar,fr أو ja ...الخ . للحصول على قائمة كاملة باسماء الحزم يمكنك الرجوع الى الرابط [https://www.archlinux.org/packages/?sort=&q=firefox-i18n&maintainer=&last_update=&flagged=&limit=100 التالي].<br />
<br />
إذا لم يقم firefox بإظهار حواف ناعمة للخطوط، قم بمحاولة تنصيب حزمة الخطوط {{AUR|ttf-win7-fonts}} أو {{AUR|ttf-ms-fonts}} ومن ثم قم بإلقاء نظرة على إعدادت الخطوط.<br />
<br />
<br />
== الملحقات add-ons ==<br />
إن متصفح firefox مشهور بعدد الملحقات الكبير الذي يمكن تنصيبها عليه والتي تجلب مزايا جديدة أو تُعدل سلوك مزايا موجودة مُسبقًا في firefox. يمكنك الحصول على محلقات جديدة أو التحكم في المحلقات المُنصبة مُستخدمًا "مدير المحلقات" الخاص بمتصفح firefox.<br />
للحصول على قائمة بإشهر المحلقات راجع الصفحة التالية [https://addons.mozilla.org/en-US/firefox/extensions/?sort=popular Mozilla's add-on list sorted by popularity].<br />
<br />
== الإضافات plugins ==<br />
لكي تعرف ما هي الإضافات المُنصبة على متصفح firefox قم بإدخال :<br />
<div align=left dir=ltr><br />
about:plugins<br />
</div><br />
في شريط العنوان، أو بالذهاب الى قيد ''Add-ons'' في القوائم ومن ثم قم بتحديد لسان ''Plugins''<br />
<br />
=== GNOME Keyring integration ===<br />
Install {{AUR|firefox-gnome-keyring}} from the [[AUR]] to integrate Firefox with [[GNOME Keyring]]. To make firefox-gnome-keyring use your login keychain, set extensions.gnome-keyring.keyringName to "login" (without the double quotes) in about:config. Note the lowercase 'l' despite the the keychain name having an uppercase 'L' in Seahorse.<br />
<br />
===التكامل مع KDE ===<br />
* To use KDE's KPart technology with Firefox, by embedding different KDE file viewers into the browser, you can install {{Pkg|kpartsplugin}}.<br />
<br />
* To get further integration with KDE's Oxygen theme, you can install [http://kde-look.org/content/show.php/?content=117962 Oxygen KDE], a very comprehensive theme that also has color scheme detection, support for Firefox's Persona themes, support for both the Oxygen and Faenza icons and various other customizations.<br />
<br />
* For integration with KDE’s mime type system and file dialogs, one can use a [https://aur.archlinux.org/packages/firefox-kde-opensuse version of firefox] with OpenSUSE’s patches applied.<br />
<br />
=== القواميس لتصحيح مدخلات المستخدم ===<br />
لكي تقوم بتفعيل التدقيق اللغوي للغة مُحددة، قم بالنقر بالزر الأيمن للفأرة على مربع النص وقم بتفعيل خيار ''Check Spelling''. لكي تُحدد اللغة التي سيتم التدقيق اللغوي فيها قم بالضغط مرة اخرى بالزر الأيمن وقم بتحديد لغتك من القائمة الفرعية المُعنونة ''Languages''.<br />
للحصول على لغات غضافية قم بالضغط على ''Add Dictionaries...'' و من ثم قم بتحديد اللغة التي تريد تنصيبها من الخيارات.<br />
<br />
بشكل بديل، يمكنك تنصيب حزمة {{Pkg|hunspell}} المتوفرة في المستودعات الرسمية، ويتوجب عليك بعدها تنصيب القواميس الخاصة بلغتك كحزمة {{Pkg|hunspell-ar}} للغة العربية و حزمة {{Pkg|hunspell-fr}} للغة الفرنسية.<br />
بشكل إفتراضي، fireofx يقوم بإنشاء روابط الى جميع قواميس hunspell الموجودة في {{ic|/usr/lib/firefox/dictionaries}}. إذا اردت الحصول على قواميس أقل في القائمة المتوفرة في المتصفح، يُمكنك حذف بعض من هذه الروابط. لكن كن مدركًا أن تحديث المتصفح سيقوم بإعادة الروابط التي تم حذفها.<br />
<br />
=== إضافة مُحركات بحث الى متصفح firefox ===<br />
مُحركات البحث يُمكن إضافتها كملحقات عادية، راجع المقال التالي [https://addons.mozilla.org/en-US/firefox/search-tools/ this page] for a list of available search engines.<br />
قائمة كبيرة جدًا بمجركات البحث يمكن أيجادها [http://mycroft.mozdev.org/ هنا].<br />
أيضًا يُمكنك إستخدام المحلق [https://firefox.maltekraus.de/extensions/add-to-search-bar add-to-searchbar] لإضافة محركات البحث الموجودة في أي موقع الى شريط البحث الخاص بك عن طريق الضغط عليه بالزر الأيمن للفأرة وتحديد الخيار ''Add to Search Bar...''.<br />
إذا أردت إضافة مُحركات البحث يدويًا يمكنك إلقاء نظرة على الملف {{ic|~/.mozilla/firefox/profile-id.default/searchplugins/}} (حيث profile-id هو profile ID الخاص بك).<br />
<br />
====حزمة arch-firefox-search ====<br />
يُمكنك تنصيب حزمة {{Pkg|arch-firefox-search}} المتوفرة في المستودعات الرسمية، لإضافة حقل بحث خاص بأرتش لينكس (AUR، الوكي، المنتدى...الخ) في متصفح firefox.<br />
<br />
==مشتقات المتصفح فايرفوكس ==<br />
<br />
* {{App|[[Wikipedia:Mozilla Corporation software rebranded by the Debian project#IceWeasel|Iceweasel]]|A fork of Firefox that is being developed by Debian. The main difference is that it does not include any trademarked Mozilla artwork.|http://wiki.debian.org/Iceweasel|{{AUR|iceweasel}}}}<br />
{{Note|For some more information about Iceweasel's existance see [http://web.glandium.org/blog/?p&#61;97 this blog post].}}<br />
* {{App|[[Wikipedia:Gnu IceCat|GNU IceCat]]|A web browser distributed by the GNU Project. It is made entirely of free software and is compatible with the GNU/Linux operating system and almost all of Firefox's addons. |http://www.gnu.org/software/gnuzilla/|{{AUR|icecat}}}}<br />
* {{App|Firefox KDE|A version of Firefox that incorporates an OpenSUSE patch for better KDE integration than is possible through simple Firefox plugins.|http://gitorious.org/firefox-kde-opensuse|{{AUR|firefox-kde-opensuse}}}}<br />
<br />
== إسكتشاف الأخطاء و إصلاحها ==<br />
<br />
=== تحديد عميل البريد الإلكتروني الخاص بك ===<br />
يقوم firefox عادةً بفتح روابط {{ic|mailto}} بإستخدام تطبيقات الويب كتطبيق Gmail أو Yahoo. لتحديد عميل البريد الإلكتروني المُفضل لديك في firefox الذي ستم فتحه عند الضغط على روابط {{ic|mailto}}، قم بالذهاب الى ''Preferences > Applications'' وقم بتعديل حقل ''action'' الخاص بنوع المحتوى {{ic|mailto}}. بالطبع يتوجب عليك تحديد المسار الكامل لعميل البريد الإلكتروني (على سبيل المثال {{ic|/usr/bin/kmail}} لبرنامج Kmail).<br />
<br />
=== مشاكل Open containing folder في واجهة GNOME3 ===<br />
إذا كنت تتوقع تشغيل متصفح الملفات [[Nautilus]] عندما تقوم بالضغط على خيار "Open Containing Folder" في مدير التنزيلات، لكن متصفح ملفات [[Thunar]] أو [[Wine]] يتم تشغيله عوضًا عنه، يمكنك التحقق من السطرين التاليين في ملف {{ic|~/.local/share/applications/defaults.list}}:<br />
<div align=left dir=ltr><br />
inode/directory=<someprogram>.desktop<br />
x-directory/normal=<someprogram>.desktop<br />
</div><br />
إذا كانت قيمة {{ic|<someprogram>}} ليست {{ic|nautilus}}، فقم بتغييرها الى ذلك.<br />
<br />
=== مشاكل Open containing folder في واجهة KDE ===<br />
اذا كنت تتوقع تشغيل متصفح الملفات المُفضل لديك عندما تقوم بالضغط على خيار "Open Containing Folder" في مدير التنزيلات، لكن متصفح ملفات آخر تم تشغيله عوضًا عنه، يمكنك إستخدام متصفح الملفات المفضل لديك وليكن [[Dolphin]] في لوحة التحكم الخاصة بكدي تحت ''Workspace Appearance and Behavior > Default Applications > File Manager''.<br />
إذا كان firefox ما يزال لا يفتح المجلدات بمتصفح الملفات الذي تُفضل قم بتعديل الملف التالي مُضمنًا السطرين التاليين :<br />
<div align=left dir=ltr><br />
x-directory/normal=kde4-dolphin.desktop;kde4-kfmclient_dir.desktop;<br />
inode/directory=kde4-dolphin.desktop;kde4-kfmclient_dir.desktop;kde4-gwenview.desktop;kde4-filelight.desktop;kde4-cervisia.desktop;<br />
</div><br />
===استمرار فايرفوكس في إنشاء الدليل Desktop/~ حتى ولو لم يكن مطلوبا ===<br />
متصفح firefox يستخدم {{ic|~/Desktop}} كمكان افتراضي للملفات المحملة والمرفوعة. يمكنك وضعها الى مجلد آخر عن طريق إنشاء ملف {{ic|~/.config/user-dirs.dirs}} وإضافة الأسطر التالية إليه :<br />
<div align=left dir=ltr><br />
XDG_DESKTOP_DIR="/home/<user>/"<br />
XDG_DOWNLOAD_DIR="/home/<user>/<dir>"<br />
XDG_TEMPLATES_DIR="/home/<user>/<dir>"<br />
XDG_PUBLICSHARE_DIR="/home/<user>/<dir>"<br />
XDG_DOCUMENTS_DIR="/home/<user>/<dir>"<br />
XDG_MUSIC_DIR="/home/<user>/<dir>"<br />
XDG_PICTURES_DIR="/home/<user>/<dir>"<br />
XDG_VIDEOS_DIR="/home/<user>/<dir>"<br />
</div><br />
قم بتغيير {{ic|<user>}} و {{ic|<dir>}} إلى المجلد الفعلي لديك.<br />
<br />
=== إلزام الإضافات بمنع النوافذ المنبثقة ===<br />
بعض الإضافات تقوم بتجاوز الإعدادات الإفتراضية، كإضافة Flash. لذا يمكنك منع ذلك عن طريق التالي :<br />
<br />
# قم بكتابة {{ic|about:config}} في شريط العنوان.<br />
# قم بالضغط بالزر الأيمن للفأرة وقم بالنقر على {{ic|New}} ومن ثم النقر على {{ic|Integer}}.<br />
# قم بتسمة الخاصية الجديدة {{ic|privacy.popups.disable_from_plugins}}.<br />
# قم بتحديد قيمتها الى 2.<br />
<br />
القيم المُمكنة هي :<br />
* '''0''': قم بالسماح بالنوافذ المنبثقة من جميع الإضافات.<br />
* '''1''': قم بالسماح بالنوافذ المنبثقة لكن قم بتحديدهم بقيمة الخيار dom.popup_maximum.<br />
* '''2''': قم بمنع النوافذ المنبثقة من الإضافات.<br />
* '''3''': قم بمنع النوافذ المنبثقة من الإضافاتن حتى في المواقع المسموح بها.<br />
<br />
===رسائل خطأ زر الفأرة اﻷوسط ===<br />
رسالة خطأ شهيرة تنتج عن الضغط على زر الفأرة الأوسط هي :<br />
<div align=left dir=ltr><br />
The URL is not valid and cannot be loaded.<br />
</div><br />
أيضًا قد يحدث سلوك غير متوقع عند الضغط على الزر الأوسط، كفتح صفحة عشوائية.<br />
<br />
السبب وراء هذه المشكلة هو طريقة إستخدام زر الفأرة الأوسط في الانظمة الشبيهة باليونكس. الزر الأوسط يقوم بلصق النص الذي تم تحديده أو نسخه الى الحافظة. لربما يحدث إلتباس في firefox الذي يكون السلوك الإفتراضي هو فتح الرابط الذي تم الضغط عليه في لسان جديد. يمكن تعطيل هذه الميزة عن طريق الذهاب الى {{ic|about:config}} وتحديد قيمة الخيار {{ic|middlemouse.contentLoadURL}} الى القيمة'''false'''. <br />
<br />
بشكل آخر، إذا أردت إستعادة التمرير بإستخدام الزر الأوسط (السلوك الإفتراضي في نظام windows). يمكن تفعيل ذلك بالبحث عن الخيار {{ic|general.autoScroll}} وتحديد قيمةته الى القيمة '''true'''.<br />
<br />
===مفتاح Backspace لا يعمل كزر عودة ===<br />
حسب [http://ubuntu.wordpress.com/2006/12/21/fix-firefox-backspace-to-take-you-to-the-previous-page/ هذا المقال]، فإن هذه الميزة تمت إزالتها لحل علّة في المتصفح. لكي تُعيد سلوكها الى ما كانت عليه قم بالذهاب الى {{ic|about:config}} وتحديد قيمة الخيار {{ic|browser.backspace_action}} الى القيمة صفر '''0'''<br />
<br />
===فايرفوكس لا يتذكر بيانات تسجيل الدخول ===<br />
بسبب حدوث عطب في ملف {{ic|cookies.sqlite}} الموجود في مجلد [http://support.mozilla.com/en-US/kb/Profiles#How_to_find_your_profile Firefox's profile]. لكي تحل هذه المشكلة قم بإعادة تسمية أو حذف ملف {{ic|cookie.sqlite}} عندما يكون متصفح firefxo مغلقًا.<br />
<br />
قم بفتح الطرفية وكتالبة هذه الأوامر فيها :<br />
<div align=left dir=ltr><br />
$ cd ~/.mozilla/firefox/xxxxxxxx.default/<br />
$ rm -f cookies.sqlite<br />
</div><br />
{{Note|xxxxxxxx تعني ثمانية محارف عشوائية.}}<br />
<br />
قم الآن بإعادة تشغيل firefox وانظر هل تم حل المشكلة أم لا.<br />
<br />
===حقول الإدخال غير مقروءة مع ثيمات dark GTK+ ===<br />
عندما تقوم بإستخدام ثيمات [[GTK+]] داكنة للون، ربما تظهر بعض الحقول في صفحات الويب بشكل غير مقروء (على سبيل المثال الخط ابيض على خلفية بيضاء في موقع Amazon). هذا يحدث عندما يقوم الموقع بتحديد لون الخلفية أو النص فقط، ويقوم firefox بإخد القيمة الاخرى من الثيمة.<br />
<br />
لحل هذه المشكلة يجب عليك تحديد قيمة معيارية للألوان في جميع الصفحات في ملف {{ic|~/.mozilla/firefox/xxxxxxxx.default/chrome/userContent.css}}.<br />
<br />
التالي يقوم بتحديد لون أسود على خلفية بيضاء لجميع حقول النص في نماذج HTML، كلا اللونين يمكن تحديد قيمته من قبل الموقع الذي تتم زيارته، لذا فإن الالوان تظهر كما يجب:<br />
<div align=left dir=ltr><br />
{{bc|<br />
input {<br />
-moz-appearance: none !important;<br />
background-color: white;<br />
color: black;<br />
}<br />
<br />
textarea {<br />
-moz-appearance: none !important;<br />
background-color: white;<br />
color: black;<br />
}<br />
<br />
select {<br />
-moz-appearance: none !important;<br />
background-color: white;<br />
color: black;<br />
}<br />
}}<br />
</div><br />
الكود التالي سيجبر إستخدام الألوان من قبل جميع الصفحات :<br />
<div align=left dir=ltr><br />
{{bc|<br />
input {<br />
-moz-appearance: none !important;<br />
background-color: pink !important;<br />
color: green !important;<br />
}<br />
<br />
textarea {<br />
-moz-appearance: none !important;<br />
background-color: pink !important;<br />
color: green !important;<br />
}<br />
<br />
select {<br />
-moz-appearance: none !important;<br />
background-color: pink !important;<br />
color: green !important;<br />
}<br />
}}<br />
</div><br />
قم بتغيير قيم الألوان الى أن تلائم إحتياجاتك، أو بإمكانك إستخدام إضافة [https://addons.mozilla.org/en-US/firefox/addon/2108 Stylish]<br />
<br />
=== مشاكل الملفات ذات الصلة ===<br />
للمستخدمين الذين لا يستخدمون واجهة [[GNOME]]، متصفح firefox قد لا يقوم بربط البرامج بشكل صحيح، لحل المشكلة قم بتنصيب حزمة {{Pkg|libgnome}} من المستودعات الرسمية.<br />
<br />
إذا كنت تستخدم واجهة KDE يمكنك أيضًا القيام بالتالي :<br />
<div align=left dir=ltr><br />
ln -s ~/.local/share/applications/mimeapps.list ~/.local/share/applications/mimeinfo.cache<br />
</div><br />
الآن متصفح firefox يجب أن يقوم بتشغيل البرمجيات الصحيحة.<br />
<br />
==="هل تريد من فايرفوكس أن يحتفظ بألسنة التصفح عند بدئه المرة القادمة؟" المربع الحواري لا يظهر ===<br />
من موقع [http://support.mozilla.com/en-US/questions/767751 Mozilla Support] :<br />
<br />
# اكتب {{ic|about:config}} in the address bar.<br />
# اضبط {{ic|browser.warnOnQuit}} على '''true'''.<br />
# اضبط {{ic|browser.showQuitWarning}} على '''true'''.<br />
<br />
===فايرفوكس يستخدم خطوطا قبيحة في واجهته ===<br />
إذا شعرت بأن الخطوط التي يستخدمها متصفح firefox قبيحة. هنالك إحتمال بأنه ينقصك خطوط أجمل في firefox. ببساطة قم بتنصيب خطوط "Type 1" من حزمة {{Pkg|xorg-fonts-type1}} المتوفرة في المستودعات الرسمية.<br />
<br />
===فايرفوكس يستخدم خطوطا قبيحة في صفحات معينة ===<br />
عندما يستخدم متصفح firefox خطوط نقطية، ينتج عن ذلك خطوط قبيحة جدًا في عدد من الصفحات مقارنةً مع متصفح Google Chrome على سبيل المثال :<br />
<br />
http://i.imgur.com/SMVdi.png vs http://i.imgur.com/jNmxU.png<br />
<br />
لحل هذه المشكلة ، قم بإلغاء تفعيل الخطوط النقطية لمخدم العرض X :<br />
<div align=left dir=ltr><br />
# ln -s /etc/fonts/conf.avail/70-no-bitmaps.conf /etc/fonts/conf.d/<br />
</div><br />
===حل بعض مشكلات خطوط فايرفوكس بخطوط جوجل ===<br />
بعض مشكلات الخطوط في متصفح firefox يُمكن حلها عن طريق تنصيب خطوط Google من حزم AUR {{AUR|ttf-google-fonts-hg}} أو {{AUR|ttf-google-fonts-git}}. هذه الخطوط ستقوم بتحسين عرض تطبيقات Google Drive بشكل كبير.<br />
<br />
===لا يمكن انسدال القائمة بعد الترقية لفايرفوكس 13 ===<br />
هذه المشكلة متعلقة [https://bugzilla.mozilla.org/show_bug.cgi?id=787943 بهذه العلة]، هذه العلة قد تؤثر على أي مستخدم يقوم بهذا الضبط :<br />
<div align=left dir=ltr><br />
GTK_IM_MODULE=xim<br />
</div><br />
عندما يقوم بتهيئة إعدادات الإدخال.<br />
<br />
== انظر أيضا ==<br />
* [http://www.mozilla.org/firefox/ Official Website]<br />
* [http://www.mozilla.org/ Mozilla Foundation]<br />
* [https://wiki.mozilla.org/Firefox Firefox Wiki]<br />
* [https://addons.mozilla.org/ Firefox Add-ons]<br />
* [http://www.getpersonas.com/ Firefox Persona Themes]<br />
</div></div>Abd allatifhttps://wiki.archlinux.org/index.php?title=Firefox_(%D8%A7%D9%84%D8%B9%D8%B1%D8%A8%D9%8A%D8%A9)&diff=261273Firefox (العربية)2013-06-05T15:09:51Z<p>Abd allatif: </p>
<hr />
<div>[[Category:Web Browser (العربية)]]<br />
[[Category:العربية]]<br />
[[en:Firefox]]<br />
[[cs:Firefox]]<br />
[[es:Firefox]]<br />
[[fr:Firefox]]<br />
[[it:Firefox]]<br />
[[ja:Firefox]]<br />
[[ko:Firefox]]<br />
[[ru:Firefox]]<br />
[[tr:Firefox]]<br />
[[zh-CN:Firefox]]<br />
<div align=right dir=rtl><br />
[http://www.firefox.com Firefox] هو متصفح رسومي شهير مفتوح المصدر من شركة [http://www.mozilla.com Mozilla].<br />
== التنصيب ==<br />
متصفح firefox يُمكن تنصيبه من الحزمة {{Pkg|firefox}} المتوفرة من المستودعات الرسمية.<br />
هنالك عدد من الحزم اللغات متوفرة لمتصفح firefox، غير اللغة الإنكليزية الإفتراضية. حزم اللغات تُسمى عادة {{ic|firefox-i18n-languagecode}}. حيث {{ic|languagecode}} يمكن أن يكون الكود الخاص بالغة ar,fr أو ja ...الخ . للحصول على قائمة كاملة باسماء الحزم يمكنك الرجوع الى الرابط [https://www.archlinux.org/packages/?sort=&q=firefox-i18n&maintainer=&last_update=&flagged=&limit=100 التالي].<br />
<br />
إذا لم يقم firefox بإظهار حواف ناعمة للخطوط، قم بمحاولة تنصيب حزمة الخطوط {{AUR|ttf-win7-fonts}} أو {{AUR|ttf-ms-fonts}} ومن ثم قم بإلقاء نظرة على إعدادت الخطوط.<br />
<br />
<br />
== الملحقات add-ons ==<br />
إن متصفح firefox مشهور بعدد الملحقات الكبير الذي يمكن تنصيبها عليه والتي تجلب مزايا جديدة أو تُعدل سلوك مزايا موجودة مُسبقًا في firefox. يمكنك الحصول على محلقات جديدة أو التحكم في المحلقات المُنصبة مُستخدمًا "مدير المحلقات" الخاص بمتصفح firefox.<br />
للحصول على قائمة بإشهر المحلقات راجع الصفحة التالية [https://addons.mozilla.org/en-US/firefox/extensions/?sort=popular Mozilla's add-on list sorted by popularity].<br />
<br />
== الإضافات plugins ==<br />
لكي تعرف ما هي الإضافات المُنصبة على متصفح firefox قم بإدخال :<br />
<div align=left dir=ltr><br />
about:plugins<br />
</div><br />
في شريط العنوان، أو بالذهاب الى قيد ''Add-ons'' في القوائم ومن ثم قم بتحديد لسان ''Plugins''<br />
<br />
=== GNOME Keyring integration ===<br />
Install {{AUR|firefox-gnome-keyring}} from the [[AUR]] to integrate Firefox with [[GNOME Keyring]]. To make firefox-gnome-keyring use your login keychain, set extensions.gnome-keyring.keyringName to "login" (without the double quotes) in about:config. Note the lowercase 'l' despite the the keychain name having an uppercase 'L' in Seahorse.<br />
<br />
===التكامل مع KDE ===<br />
* To use KDE's KPart technology with Firefox, by embedding different KDE file viewers into the browser, you can install {{Pkg|kpartsplugin}}.<br />
<br />
* To get further integration with KDE's Oxygen theme, you can install [http://kde-look.org/content/show.php/?content=117962 Oxygen KDE], a very comprehensive theme that also has color scheme detection, support for Firefox's Persona themes, support for both the Oxygen and Faenza icons and various other customizations.<br />
<br />
* For integration with KDE’s mime type system and file dialogs, one can use a [https://aur.archlinux.org/packages/firefox-kde-opensuse version of firefox] with OpenSUSE’s patches applied.<br />
<br />
=== القواميس لتصحيح مدخلات المستخدم ===<br />
لكي تقوم بتفعيل التدقيق اللغوي للغة مُحددة، قم بالنقر بالزر الأيمن للفأرة على مربع النص وقم بتفعيل خيار ''Check Spelling''. لكي تُحدد اللغة التي سيتم التدقيق اللغوي فيها قم بالضغط مرة اخرى بالزر الأيمن وقم بتحديد لغتك من القائمة الفرعية المُعنونة ''Languages''.<br />
للحصول على لغات غضافية قم بالضغط على ''Add Dictionaries...'' و من ثم قم بتحديد اللغة التي تريد تنصيبها من الخيارات.<br />
<br />
بشكل بديل، يمكنك تنصيب حزمة {{Pkg|hunspell}} المتوفرة في المستودعات الرسمية، ويتوجب عليك بعدها تنصيب القواميس الخاصة بلغتك كحزمة {{Pkg|hunspell-ar}} للغة العربية و حزمة {{Pkg|hunspell-fr}} للغة الفرنسية.<br />
بشكل إفتراضي، fireofx يقوم بإنشاء روابط الى جميع قواميس hunspell الموجودة في {{ic|/usr/lib/firefox/dictionaries}}. إذا اردت الحصول على قواميس أقل في القائمة المتوفرة في المتصفح، يُمكنك حذف بعض من هذه الروابط. لكن كن مدركًا أن تحديث المتصفح سيقوم بإعادة الروابط التي تم حذفها.<br />
<br />
=== إضافة مُحركات بحث الى متصفح firefox ===<br />
مُحركات البحث يُمكن إضافتها كملحقات عادية، راجع المقال التالي [https://addons.mozilla.org/en-US/firefox/search-tools/ this page] for a list of available search engines.<br />
قائمة كبيرة جدًا بمجركات البحث يمكن أيجادها [http://mycroft.mozdev.org/ هنا].<br />
أيضًا يُمكنك إستخدام المحلق [https://firefox.maltekraus.de/extensions/add-to-search-bar add-to-searchbar] لإضافة محركات البحث الموجودة في أي موقع الى شريط البحث الخاص بك عن طريق الضغط عليه بالزر الأيمن للفأرة وتحديد الخيار ''Add to Search Bar...''.<br />
إذا أردت إضافة مُحركات البحث يدويًا يمكنك إلقاء نظرة على الملف {{ic|~/.mozilla/firefox/profile-id.default/searchplugins/}} (حيث profile-id هو profile ID الخاص بك).<br />
<br />
====حزمة arch-firefox-search ====<br />
يُمكنك تنصيب حزمة {{Pkg|arch-firefox-search}} المتوفرة في المستودعات الرسمية، لإضافة حقل بحث خاص بأرتش لينكس (AUR، الوكي، المنتدى...الخ) في متصفح firefox.<br />
<br />
==مشتقات المتصفح فايرفوكس ==<br />
<br />
* {{App|[[Wikipedia:Mozilla Corporation software rebranded by the Debian project#IceWeasel|Iceweasel]]|A fork of Firefox that is being developed by Debian. The main difference is that it does not include any trademarked Mozilla artwork.|http://wiki.debian.org/Iceweasel|{{AUR|iceweasel}}}}<br />
{{Note|For some more information about Iceweasel's existance see [http://web.glandium.org/blog/?p&#61;97 this blog post].}}<br />
* {{App|[[Wikipedia:Gnu IceCat|GNU IceCat]]|A web browser distributed by the GNU Project. It is made entirely of free software and is compatible with the GNU/Linux operating system and almost all of Firefox's addons. |http://www.gnu.org/software/gnuzilla/|{{AUR|icecat}}}}<br />
* {{App|Firefox KDE|A version of Firefox that incorporates an OpenSUSE patch for better KDE integration than is possible through simple Firefox plugins.|http://gitorious.org/firefox-kde-opensuse|{{AUR|firefox-kde-opensuse}}}}<br />
<br />
== إسكتشاف الأخطاء و إصلاحها ==<br />
<br />
=== تحديد عميل البريد الإلكتروني الخاص بك ===<br />
يقوم firefox عادةً بفتح روابط {{ic|mailto}} بإستخدام تطبيقات الويب كتطبيق Gmail أو Yahoo. لتحديد عميل البريد الإلكتروني المُفضل لديك في firefox الذي ستم فتحه عند الضغط على روابط {{ic|mailto}}، قم بالذهاب الى ''Preferences > Applications'' وقم بتعديل حقل ''action'' الخاص بنوع المحتوى {{ic|mailto}}. بالطبع يتوجب عليك تحديد المسار الكامل لعميل البريد الإلكتروني (على سبيل المثال {{ic|/usr/bin/kmail}} لبرنامج Kmail).<br />
<br />
=== مشاكل Open containing folder في واجهة GNOME3 ===<br />
إذا كنت تتوقع تشغيل متصفح الملفات [[Nautilus]] عندما تقوم بالضغط على خيار "Open Containing Folder" في مدير التنزيلات، لكن متصفح ملفات [[Thunar]] أو [[Wine]] يتم تشغيله عوضًا عنه، يمكنك التحقق من السطرين التاليين في ملف {{ic|~/.local/share/applications/defaults.list}}:<br />
<div align=left dir=ltr><br />
inode/directory=<someprogram>.desktop<br />
x-directory/normal=<someprogram>.desktop<br />
</div><br />
إذا كانت قيمة {{ic|<someprogram>}} ليست {{ic|nautilus}}، فقم بتغييرها الى ذلك.<br />
<br />
=== مشاكل Open containing folder في واجهة KDE ===<br />
اذا كنت تتوقع تشغيل متصفح الملفات المُفضل لديك عندما تقوم بالضغط على خيار "Open Containing Folder" في مدير التنزيلات، لكن متصفح ملفات آخر تم تشغيله عوضًا عنه، يمكنك إستخدام متصفح الملفات المفضل لديك وليكن [[Dolphin]] في لوحة التحكم الخاصة بكدي تحت ''Workspace Appearance and Behavior > Default Applications > File Manager''.<br />
إذا كان firefox ما يزال لا يفتح المجلدات بمتصفح الملفات الذي تُفضل قم بتعديل الملف التالي مُضمنًا السطرين التاليين :<br />
<div align=left dir=ltr><br />
x-directory/normal=kde4-dolphin.desktop;kde4-kfmclient_dir.desktop;<br />
inode/directory=kde4-dolphin.desktop;kde4-kfmclient_dir.desktop;kde4-gwenview.desktop;kde4-filelight.desktop;kde4-cervisia.desktop;<br />
</div><br />
===استمرار فايرفوكس في إنشاء الدليل Desktop/~ حتى ولو لم يكن مطلوبا ===<br />
متصفح firefox يستخدم {{ic|~/Desktop}} كمكان افتراضي للملفات المحملة والمرفوعة. يمكنك وضعها الى مجلد آخر عن طريق إنشاء ملف {{ic|~/.config/user-dirs.dirs}} وإضافة الأسطر التالية إليه :<br />
<div align=left dir=ltr><br />
XDG_DESKTOP_DIR="/home/<user>/"<br />
XDG_DOWNLOAD_DIR="/home/<user>/<dir>"<br />
XDG_TEMPLATES_DIR="/home/<user>/<dir>"<br />
XDG_PUBLICSHARE_DIR="/home/<user>/<dir>"<br />
XDG_DOCUMENTS_DIR="/home/<user>/<dir>"<br />
XDG_MUSIC_DIR="/home/<user>/<dir>"<br />
XDG_PICTURES_DIR="/home/<user>/<dir>"<br />
XDG_VIDEOS_DIR="/home/<user>/<dir>"<br />
</div><br />
قم بتغيير {{ic|<user>}} و {{ic|<dir>}} إلى المجلد الفعلي لديك.<br />
<br />
=== إلزام الإضافات بمنع النوافذ المنبثقة ===<br />
بعض الإضافات تقوم بتجاوز الإعدادات الإفتراضية، كإضافة Flash. لذا يمكنك منع ذلك عن طريق التالي :<br />
<br />
# قم بكتابة {{ic|about:config}} في شريط العنوان.<br />
# قم بالضغط بالزر الأيمن للفأرة وقم بالنقر على {{ic|New}} ومن ثم النقر على {{ic|Integer}}.<br />
# قم بتسمة الخاصية الجديدة {{ic|privacy.popups.disable_from_plugins}}.<br />
# قم بتحديد قيمتها الى 2.<br />
<br />
القيم المُمكنة هي :<br />
* '''0''': قم بالسماح بالنوافذ المنبثقة من جميع الإضافات.<br />
* '''1''': قم بالسماح بالنوافذ المنبثقة لكن قم بتحديدهم بقيمة الخيار dom.popup_maximum.<br />
* '''2''': قم بمنع النوافذ المنبثقة من الإضافات.<br />
* '''3''': قم بمنع النوافذ المنبثقة من الإضافاتن حتى في المواقع المسموح بها.<br />
<br />
===رسائل خطأ زر الفأرة اﻷوسط ===<br />
A common error message you can get while using the middle mouse button in Firefox is:<br />
<div align=left dir=ltr><br />
The URL is not valid and cannot be loaded.<br />
</div><br />
Another symptom is that middle-clicking results in unexpected behavior, like accessing a random web page.<br />
<br />
The reason stems from the use of the middle mouse buttons in UNIX-like operating systems. The middle mouse button is used to paste whatever text has been highlighted/added to the clipboard. Then there is the possibly conflicting feature in Firefox, which defaults to loading the URL of the corresponding text when the button is depressed. This can be easily disabled by going to {{ic|about:config}} and setting the {{ic|middlemouse.contentLoadURL}} option to '''false'''.<br />
<br />
Alternatively, having the traditional scroll cursor on middle-click (default behavior on Windows browsers) can be achieved by searching for {{ic|general.autoScroll}} and setting it to '''true'''.<br />
<br />
===مفتاح Backspace لا يعمل كزر عودة ===<br />
حسب [http://ubuntu.wordpress.com/2006/12/21/fix-firefox-backspace-to-take-you-to-the-previous-page/ هذا المقال]، فإن هذه الميزة تمت إزالتها لحل علّة في المتصفح. لكي تُعيد سلوكها الى ما كانت عليه قم بالذهاب الى {{ic|about:config}} وتحديد قيمة الخيار {{ic|browser.backspace_action}} الى القيمة صفر '''0'''<br />
<br />
===فايرفوكس لا يتذكر بيانات تسجيل الدخول ===<br />
بسبب حدوث عطب في ملف {{ic|cookies.sqlite}} الموجود في مجلد [http://support.mozilla.com/en-US/kb/Profiles#How_to_find_your_profile Firefox's profile]. لكي تحل هذه المشكلة قم بإعادة تسمية أو حذف ملف {{ic|cookie.sqlite}} عندما يكون متصفح firefxo مغلقًا.<br />
<br />
قم بفتح الطرفية وكتالبة هذه الأوامر فيها :<br />
<div align=left dir=ltr><br />
$ cd ~/.mozilla/firefox/xxxxxxxx.default/<br />
$ rm -f cookies.sqlite<br />
</div><br />
{{Note|xxxxxxxx تعني ثمانية محارف عشوائية.}}<br />
<br />
قم الآن بإعادة تشغيل firefox وانظر هل تم حل المشكلة أم لا.<br />
<br />
===حقول الإدخال غير مقروءة مع ثيمات dark GTK+ ===<br />
عندما تقوم بإستخدام ثيمات [[GTK+]] داكنة للون، ربما تظهر بعض الحقول في صفحات الويب بشكل غير مقروء (على سبيل المثال الخط ابيض على خلفية بيضاء في موقع Amazon). هذا يحدث عندما يقوم الموقع بتحديد لون الخلفية أو النص فقط، ويقوم firefox بإخد القيمة الاخرى من الثيمة.<br />
<br />
لحل هذه المشكلة يجب عليك تحديد قيمة معيارية للألوان في جميع الصفحات في ملف {{ic|~/.mozilla/firefox/xxxxxxxx.default/chrome/userContent.css}}.<br />
<br />
التالي يقوم بتحديد لون أسود على خلفية بيضاء لجميع حقول النص في نماذج HTML، كلا اللونين يمكن تحديد قيمته من قبل الموقع الذي تتم زيارته، لذا فإن الالوان تظهر كما يجب:<br />
<div align=left dir=ltr><br />
{{bc|<br />
input {<br />
-moz-appearance: none !important;<br />
background-color: white;<br />
color: black;<br />
}<br />
<br />
textarea {<br />
-moz-appearance: none !important;<br />
background-color: white;<br />
color: black;<br />
}<br />
<br />
select {<br />
-moz-appearance: none !important;<br />
background-color: white;<br />
color: black;<br />
}<br />
}}<br />
</div><br />
الكود التالي سيجبر إستخدام الألوان من قبل جميع الصفحات :<br />
<div align=left dir=ltr><br />
{{bc|<br />
input {<br />
-moz-appearance: none !important;<br />
background-color: pink !important;<br />
color: green !important;<br />
}<br />
<br />
textarea {<br />
-moz-appearance: none !important;<br />
background-color: pink !important;<br />
color: green !important;<br />
}<br />
<br />
select {<br />
-moz-appearance: none !important;<br />
background-color: pink !important;<br />
color: green !important;<br />
}<br />
}}<br />
</div><br />
قم بتغيير قيم الألوان الى أن تلائم إحتياجاتك، أو بإمكانك إستخدام إضافة [https://addons.mozilla.org/en-US/firefox/addon/2108 Stylish]<br />
<br />
=== مشاكل الملفات ذات الصلة ===<br />
للمستخدمين الذين لا يستخدمون واجهة [[GNOME]]، متصفح firefox قد لا يقوم بربط البرامج بشكل صحيح، لحل المشكلة قم بتنصيب حزمة {{Pkg|libgnome}} من المستودعات الرسمية.<br />
<br />
إذا كنت تستخدم واجهة KDE يمكنك أيضًا القيام بالتالي :<br />
<div align=left dir=ltr><br />
ln -s ~/.local/share/applications/mimeapps.list ~/.local/share/applications/mimeinfo.cache<br />
</div><br />
الآن متصفح firefox يجب أن يقوم بتشغيل البرمجيات الصحيحة.<br />
<br />
==="هل تريد من فايرفوكس أن يحتفظ بألسنة التصفح عند بدئه المرة القادمة؟" المربع الحواري لا يظهر ===<br />
من موقع [http://support.mozilla.com/en-US/questions/767751 Mozilla Support] :<br />
<br />
# اكتب {{ic|about:config}} in the address bar.<br />
# اضبط {{ic|browser.warnOnQuit}} على '''true'''.<br />
# اضبط {{ic|browser.showQuitWarning}} على '''true'''.<br />
<br />
===فايرفوكس يستخدم خطوطا قبيحة في واجهته ===<br />
إذا شعرت بأن الخطوط التي يستخدمها متصفح firefox قبيحة. هنالك إحتمال بأنه ينقصك خطوط أجمل في firefox. ببساطة قم بتنصيب خطوط "Type 1" من حزمة {{Pkg|xorg-fonts-type1}} المتوفرة في المستودعات الرسمية.<br />
<br />
===فايرفوكس يستخدم خطوطا قبيحة في صفحات معينة ===<br />
عندما يستخدم متصفح firefox خطوط نقطية، ينتج عن ذلك خطوط قبيحة جدًا في عدد من الصفحات مقارنةً مع متصفح Google Chrome على سبيل المثال :<br />
<br />
http://i.imgur.com/SMVdi.png vs http://i.imgur.com/jNmxU.png<br />
<br />
لحل هذه المشكلة ، قم بإلغاء تفعيل الخطوط النقطية لمخدم العرض X :<br />
<div align=left dir=ltr><br />
# ln -s /etc/fonts/conf.avail/70-no-bitmaps.conf /etc/fonts/conf.d/<br />
</div><br />
===حل بعض مشكلات خطوط فايرفوكس بخطوط جوجل ===<br />
بعض مشكلات الخطوط في متصفح firefox يُمكن حلها عن طريق تنصيب خطوط Google من حزم AUR {{AUR|ttf-google-fonts-hg}} أو {{AUR|ttf-google-fonts-git}}. هذه الخطوط ستقوم بتحسين عرض تطبيقات Google Drive بشكل كبير.<br />
<br />
===لا يمكن انسدال القائمة بعد الترقية لفايرفوكس 13 ===<br />
هذه المشكلة متعلقة [https://bugzilla.mozilla.org/show_bug.cgi?id=787943 بهذه العلة]، هذه العلة قد تؤثر على أي مستخدم يقوم بهذا الضبط :<br />
<div align=left dir=ltr><br />
GTK_IM_MODULE=xim<br />
</div><br />
عندما يقوم بتهيئة إعدادات الإدخال.<br />
<br />
== انظر أيضا ==<br />
* [http://www.mozilla.org/firefox/ Official Website]<br />
* [http://www.mozilla.org/ Mozilla Foundation]<br />
* [https://wiki.mozilla.org/Firefox Firefox Wiki]<br />
* [https://addons.mozilla.org/ Firefox Add-ons]<br />
* [http://www.getpersonas.com/ Firefox Persona Themes]<br />
</div></div>Abd allatifhttps://wiki.archlinux.org/index.php?title=Firefox_(%D8%A7%D9%84%D8%B9%D8%B1%D8%A8%D9%8A%D8%A9)&diff=261272Firefox (العربية)2013-06-05T15:07:33Z<p>Abd allatif: </p>
<hr />
<div>[[Category:Web Browser (العربية)]]<br />
[[Category:العربية]]<br />
[[en:Firefox]]<br />
[[cs:Firefox]]<br />
[[es:Firefox]]<br />
[[fr:Firefox]]<br />
[[it:Firefox]]<br />
[[ja:Firefox]]<br />
[[ko:Firefox]]<br />
[[ru:Firefox]]<br />
[[tr:Firefox]]<br />
[[zh-CN:Firefox]]<br />
<div align=right dir=rtl><br />
[http://www.firefox.com Firefox] هو متصفح رسومي شهير مفتوح المصدر من شركة [http://www.mozilla.com Mozilla].<br />
== التنصيب ==<br />
متصفح firefox يُمكن تنصيبه من الحزمة {{Pkg|firefox}} المتوفرة من المستودعات الرسمية.<br />
هنالك عدد من الحزم اللغات متوفرة لمتصفح firefox، غير اللغة الإنكليزية الإفتراضية. حزم اللغات تُسمى عادة {{ic|firefox-i18n-languagecode}}. حيث {{ic|languagecode}} يمكن أن يكون الكود الخاص بالغة ar,fr أو ja ...الخ . للحصول على قائمة كاملة باسماء الحزم يمكنك الرجوع الى الرابط [https://www.archlinux.org/packages/?sort=&q=firefox-i18n&maintainer=&last_update=&flagged=&limit=100 التالي].<br />
<br />
إذا لم يقم firefox بإظهار حواف ناعمة للخطوط، قم بمحاولة تنصيب حزمة الخطوط {{AUR|ttf-win7-fonts}} أو {{AUR|ttf-ms-fonts}} ومن ثم قم بإلقاء نظرة على إعدادت الخطوط.<br />
<br />
<br />
== الملحقات add-ons ==<br />
إن متصفح firefox مشهور بعدد الملحقات الكبير الذي يمكن تنصيبها عليه والتي تجلب مزايا جديدة أو تُعدل سلوك مزايا موجودة مُسبقًا في firefox. يمكنك الحصول على محلقات جديدة أو التحكم في المحلقات المُنصبة مُستخدمًا "مدير المحلقات" الخاص بمتصفح firefox.<br />
للحصول على قائمة بإشهر المحلقات راجع الصفحة التالية [https://addons.mozilla.org/en-US/firefox/extensions/?sort=popular Mozilla's add-on list sorted by popularity].<br />
<br />
== الإضافات plugins ==<br />
لكي تعرف ما هي الإضافات المُنصبة على متصفح firefox قم بإدخال :<br />
<div align=left dir=ltr><br />
about:plugins<br />
</div><br />
في شريط العنوان، أو بالذهاب الى قيد ''Add-ons'' في القوائم ومن ثم قم بتحديد لسان ''Plugins''<br />
<br />
=== GNOME Keyring integration ===<br />
Install {{AUR|firefox-gnome-keyring}} from the [[AUR]] to integrate Firefox with [[GNOME Keyring]]. To make firefox-gnome-keyring use your login keychain, set extensions.gnome-keyring.keyringName to "login" (without the double quotes) in about:config. Note the lowercase 'l' despite the the keychain name having an uppercase 'L' in Seahorse.<br />
<br />
===التكامل مع KDE ===<br />
* To use KDE's KPart technology with Firefox, by embedding different KDE file viewers into the browser, you can install {{Pkg|kpartsplugin}}.<br />
<br />
* To get further integration with KDE's Oxygen theme, you can install [http://kde-look.org/content/show.php/?content=117962 Oxygen KDE], a very comprehensive theme that also has color scheme detection, support for Firefox's Persona themes, support for both the Oxygen and Faenza icons and various other customizations.<br />
<br />
* For integration with KDE’s mime type system and file dialogs, one can use a [https://aur.archlinux.org/packages/firefox-kde-opensuse version of firefox] with OpenSUSE’s patches applied.<br />
<br />
=== القواميس لتصحيح مدخلات المستخدم ===<br />
لكي تقوم بتفعيل التدقيق اللغوي للغة مُحددة، قم بالنقر بالزر الأيمن للفأرة على مربع النص وقم بتفعيل خيار ''Check Spelling''. لكي تُحدد اللغة التي سيتم التدقيق اللغوي فيها قم بالضغط مرة اخرى بالزر الأيمن وقم بتحديد لغتك من القائمة الفرعية المُعنونة ''Languages''.<br />
للحصول على لغات غضافية قم بالضغط على ''Add Dictionaries...'' و من ثم قم بتحديد اللغة التي تريد تنصيبها من الخيارات.<br />
<br />
بشكل بديل، يمكنك تنصيب حزمة {{Pkg|hunspell}} المتوفرة في المستودعات الرسمية، ويتوجب عليك بعدها تنصيب القواميس الخاصة بلغتك كحزمة {{Pkg|hunspell-ar}} للغة العربية و حزمة {{Pkg|hunspell-fr}} للغة الفرنسية.<br />
بشكل إفتراضي، fireofx يقوم بإنشاء روابط الى جميع قواميس hunspell الموجودة في {{ic|/usr/lib/firefox/dictionaries}}. إذا اردت الحصول على قواميس أقل في القائمة المتوفرة في المتصفح، يُمكنك حذف بعض من هذه الروابط. لكن كن مدركًا أن تحديث المتصفح سيقوم بإعادة الروابط التي تم حذفها.<br />
<br />
=== إضافة مُحركات بحث الى متصفح firefox ===<br />
مُحركات البحث يُمكن إضافتها كملحقات عادية، راجع المقال التالي [https://addons.mozilla.org/en-US/firefox/search-tools/ this page] for a list of available search engines.<br />
قائمة كبيرة جدًا بمجركات البحث يمكن أيجادها [http://mycroft.mozdev.org/ هنا].<br />
أيضًا يُمكنك إستخدام المحلق [https://firefox.maltekraus.de/extensions/add-to-search-bar add-to-searchbar] لإضافة محركات البحث الموجودة في أي موقع الى شريط البحث الخاص بك عن طريق الضغط عليه بالزر الأيمن للفأرة وتحديد الخيار ''Add to Search Bar...''.<br />
إذا أردت إضافة مُحركات البحث يدويًا يمكنك إلقاء نظرة على الملف {{ic|~/.mozilla/firefox/profile-id.default/searchplugins/}} (حيث profile-id هو profile ID الخاص بك).<br />
<br />
====حزمة arch-firefox-search ====<br />
يُمكنك تنصيب حزمة {{Pkg|arch-firefox-search}} المتوفرة في المستودعات الرسمية، لإضافة حقل بحث خاص بأرتش لينكس (AUR، الوكي، المنتدى...الخ) في متصفح firefox.<br />
<br />
==مشتقات المتصفح فايرفوكس ==<br />
<br />
* {{App|[[Wikipedia:Mozilla Corporation software rebranded by the Debian project#IceWeasel|Iceweasel]]|A fork of Firefox that is being developed by Debian. The main difference is that it does not include any trademarked Mozilla artwork.|http://wiki.debian.org/Iceweasel|{{AUR|iceweasel}}}}<br />
{{Note|For some more information about Iceweasel's existance see [http://web.glandium.org/blog/?p&#61;97 this blog post].}}<br />
* {{App|[[Wikipedia:Gnu IceCat|GNU IceCat]]|A web browser distributed by the GNU Project. It is made entirely of free software and is compatible with the GNU/Linux operating system and almost all of Firefox's addons. |http://www.gnu.org/software/gnuzilla/|{{AUR|icecat}}}}<br />
* {{App|Firefox KDE|A version of Firefox that incorporates an OpenSUSE patch for better KDE integration than is possible through simple Firefox plugins.|http://gitorious.org/firefox-kde-opensuse|{{AUR|firefox-kde-opensuse}}}}<br />
<br />
== إسكتشاف الأخطاء و إصلاحها ==<br />
<br />
=== تحديد عميل البريد الإلكتروني الخاص بك ===<br />
يقوم firefox عادةً بفتح روابط {{ic|mailto}} بإستخدام تطبيقات الويب كتطبيق Gmail أو Yahoo. لتحديد عميل البريد الإلكتروني المُفضل لديك في firefox الذي ستم فتحه عند الضغط على روابط {{ic|mailto}}، قم بالذهاب الى ''Preferences > Applications'' وقم بتعديل حقل ''action'' الخاص بنوع المحتوى {{ic|mailto}}. بالطبع يتوجب عليك تحديد المسار الكامل لعميل البريد الإلكتروني (على سبيل المثال {{ic|/usr/bin/kmail}} لبرنامج Kmail).<br />
<br />
=== مشاكل Open containing folder في واجهة GNOME3 ===<br />
إذا كنت تتوقع تشغيل متصفح الملفات [[Nautilus]] عندما تقوم بالضغط على خيار "Open Containing Folder" في مدير التنزيلات، لكن متصفح ملفات [[Thunar]] أو [[Wine]] يتم تشغيله عوضًا عنه، يمكنك التحقق من السطرين التاليين في ملف {{ic|~/.local/share/applications/defaults.list}}:<br />
<div align=left dir=ltr><br />
inode/directory=<someprogram>.desktop<br />
x-directory/normal=<someprogram>.desktop<br />
</div><br />
إذا كانت قيمة {{ic|<someprogram>}} ليست {{ic|nautilus}}، فقم بتغييرها الى ذلك.<br />
<br />
=== مشاكل Open containing folder في واجهة KDE ===<br />
اذا كنت تتوقع تشغيل متصفح الملفات المُفضل لديك عندما تقوم بالضغط على خيار "Open Containing Folder" في مدير التنزيلات، لكن متصفح ملفات آخر تم تشغيله عوضًا عنه، يمكنك إستخدام متصفح الملفات المفضل لديك وليكن [[Dolphin]] في لوحة التحكم الخاصة بكدي تحت ''Workspace Appearance and Behavior > Default Applications > File Manager''.<br />
إذا كان firefox ما يزال لا يفتح المجلدات بمتصفح الملفات الذي تُفضل قم بتعديل الملف التالي مُضمنًا السطرين التاليين :<br />
<div align=left dir=ltr><br />
x-directory/normal=kde4-dolphin.desktop;kde4-kfmclient_dir.desktop;<br />
inode/directory=kde4-dolphin.desktop;kde4-kfmclient_dir.desktop;kde4-gwenview.desktop;kde4-filelight.desktop;kde4-cervisia.desktop;<br />
</div><br />
===استمرار فايرفوكس في إنشاء الدليل Desktop/~ حتى ولو لم يكن مطلوبا ===<br />
متصفح firefox يستخدم {{ic|~/Desktop}} كمكان افتراضي للملفات المحملة والمرفوعة. يمكنك وضعها الى مجلد آخر عن طريق إنشاء ملف {{ic|~/.config/user-dirs.dirs}} وإضافة الأسطر التالية إليه :<br />
<div align=left dir=ltr><br />
XDG_DESKTOP_DIR="/home/<user>/"<br />
XDG_DOWNLOAD_DIR="/home/<user>/<dir>"<br />
XDG_TEMPLATES_DIR="/home/<user>/<dir>"<br />
XDG_PUBLICSHARE_DIR="/home/<user>/<dir>"<br />
XDG_DOCUMENTS_DIR="/home/<user>/<dir>"<br />
XDG_MUSIC_DIR="/home/<user>/<dir>"<br />
XDG_PICTURES_DIR="/home/<user>/<dir>"<br />
XDG_VIDEOS_DIR="/home/<user>/<dir>"<br />
</div><br />
قم بتغيير {{ic|<user>}} و {{ic|<dir>}} إلى المجلد الفعلي لديك.<br />
<br />
=== إلزام الإضافات بمنع النوافذ المنبثقة ===<br />
بعض الإضافات تقوم بتجاوز الإعدادات الإفتراضية، كإضافة Flash. لذا يمكنك منع ذلك عن طريق التالي :<br />
<br />
# قم بكتابة {{ic|about:config}} في شريط العنوان.<br />
# قم بالضغط بالزر الأيمن للفأرة وقم بالنقر على {{ic|New}} ومن ثم النقر على {{ic|Integer}}.<br />
# قم بتسمة الخاصية الجديدة {{ic|privacy.popups.disable_from_plugins}}.<br />
# قم بتحديد قيمتها الى 2.<br />
<br />
القيم المُمكنة هي :<br />
* '''0''': قم بالسماح بالنوافذ المنبثقة من جميع الإضافات.<br />
* '''1''': قم بالسماح بالنوافذ المنبثقة لكن قم بتحديدهم بقيمة الخيار dom.popup_maximum.<br />
* '''2''': قم بمنع النوافذ المنبثقة من الإضافات.<br />
* '''3''': قم بمنع النوافذ المنبثقة من الإضافاتن حتى في المواقع المسموح بها.<br />
<br />
===رسائل خطأ زر الفأرة اﻷوسط ===<br />
A common error message you can get while using the middle mouse button in Firefox is:<br />
<div align=left dir=ltr><br />
The URL is not valid and cannot be loaded.<br />
</div><br />
Another symptom is that middle-clicking results in unexpected behavior, like accessing a random web page.<br />
<br />
The reason stems from the use of the middle mouse buttons in UNIX-like operating systems. The middle mouse button is used to paste whatever text has been highlighted/added to the clipboard. Then there is the possibly conflicting feature in Firefox, which defaults to loading the URL of the corresponding text when the button is depressed. This can be easily disabled by going to {{ic|about:config}} and setting the {{ic|middlemouse.contentLoadURL}} option to '''false'''.<br />
<br />
Alternatively, having the traditional scroll cursor on middle-click (default behavior on Windows browsers) can be achieved by searching for {{ic|general.autoScroll}} and setting it to '''true'''.<br />
<br />
===مفتاح Backspace لا يعمل كزر عودة ===<br />
حسب [http://ubuntu.wordpress.com/2006/12/21/fix-firefox-backspace-to-take-you-to-the-previous-page/ هذا المقال]، فإن هذه الميزة تمت إزالتها لحل علّة في المتصفح. لكي تُعيد سلوكها الى ما كانت عليه قم بالذهاب الى {{ic|about:config}} وتحديد قيمة الخيار {{ic|browser.backspace_action}} الى القيمة صفر '''0'''<br />
<br />
===فايرفوكس لا يتذكر بيانات تسجيل الدخول ===<br />
بسبب حدوث عطب في ملف {{ic|cookies.sqlite}} الموجود في مجلد [http://support.mozilla.com/en-US/kb/Profiles#How_to_find_your_profile Firefox's profile]. لكي تحل هذه المشكلة قم بإعادة تسمية أو حذف ملف {{ic|cookie.sqlite}} عندما يكون متصفح firefxo مغلقًا.<br />
<br />
قم بفتح الطرفية وكتالبة هذه الأوامر فيها :<br />
<div align=left dir=ltr><br />
$ cd ~/.mozilla/firefox/xxxxxxxx.default/<br />
$ rm -f cookies.sqlite<br />
</div><br />
{{Note|xxxxxxxx تعني ثمانية محارف عشوائية.}}<br />
<br />
قم الآن بإعادة تشغيل firefox وانظر هل تم حل المشكلة أم لا.<br />
<br />
===حقول الإدخال غير مقروءة مع ثيمات dark GTK+ ===<br />
عندما تقوم بإستخدام ثيمات [[GTK+]] داكنة للون، ربما تظهر بعض الحقول في صفحات الويب بشكل غير مقروء (على سبيل المثال الخط ابيض على خلفية بيضاء في موقع Amazon). هذا يحدث عندما يقوم الموقع بتحديد لون الخلفية أو النص فقط، ويقوم firefox بإخد القيمة الاخرى من الثيمة.<br />
<br />
لحل هذه المشكلة يجب عليك تحديد قيمة معيارية للألوان في جميع الصفحات في ملف {{ic|~/.mozilla/firefox/xxxxxxxx.default/chrome/userContent.css}}.<br />
<br />
التالي يقوم بتحديد لون أسود على خلفية بيضاء لجميع حقول النص في نماذج HTML، كلا اللونين يمكن تحديد قيمته من قبل الموقع الذي تتم زيارته، لذا فإن الالوان تظهر كما يجب:<br />
<div align=left dir=ltr><br />
{{bc|<br />
input {<br />
-moz-appearance: none !important;<br />
background-color: white;<br />
color: black;<br />
}<br />
<br />
textarea {<br />
-moz-appearance: none !important;<br />
background-color: white;<br />
color: black;<br />
}<br />
<br />
select {<br />
-moz-appearance: none !important;<br />
background-color: white;<br />
color: black;<br />
}<br />
}}<br />
</div><br />
This will force the colors ("Allow pages to choose their own colors..." checkbox in the ''Preferences > Content > Color'' dialog):<br />
<div align=left dir=ltr><br />
{{bc|<br />
input {<br />
-moz-appearance: none !important;<br />
background-color: pink !important;<br />
color: green !important;<br />
}<br />
<br />
textarea {<br />
-moz-appearance: none !important;<br />
background-color: pink !important;<br />
color: green !important;<br />
}<br />
<br />
select {<br />
-moz-appearance: none !important;<br />
background-color: pink !important;<br />
color: green !important;<br />
}<br />
}}<br />
</div><br />
قم بتغيير قيم الألوان الى أن تلائم إحتياجاتك، أو بإمكانك إستخدام إضافة [https://addons.mozilla.org/en-US/firefox/addon/2108 Stylish]<br />
<br />
=== مشاكل الملفات ذات الصلة ===<br />
للمستخدمين الذين لا يستخدمون واجهة [[GNOME]]، متصفح firefox قد لا يقوم بربط البرامج بشكل صحيح، لحل المشكلة قم بتنصيب حزمة {{Pkg|libgnome}} من المستودعات الرسمية.<br />
<br />
إذا كنت تستخدم واجهة KDE يمكنك أيضًا القيام بالتالي :<br />
<div align=left dir=ltr><br />
ln -s ~/.local/share/applications/mimeapps.list ~/.local/share/applications/mimeinfo.cache<br />
</div><br />
الآن متصفح firefox يجب أن يقوم بتشغيل البرمجيات الصحيحة.<br />
<br />
==="هل تريد من فايرفوكس أن يحتفظ بألسنة التصفح عند بدئه المرة القادمة؟" المربع الحواري لا يظهر ===<br />
من موقع [http://support.mozilla.com/en-US/questions/767751 Mozilla Support] :<br />
<br />
# اكتب {{ic|about:config}} in the address bar.<br />
# اضبط {{ic|browser.warnOnQuit}} على '''true'''.<br />
# اضبط {{ic|browser.showQuitWarning}} على '''true'''.<br />
<br />
===فايرفوكس يستخدم خطوطا قبيحة في واجهته ===<br />
إذا شعرت بأن الخطوط التي يستخدمها متصفح firefox قبيحة. هنالك إحتمال بأنه ينقصك خطوط أجمل في firefox. ببساطة قم بتنصيب خطوط "Type 1" من حزمة {{Pkg|xorg-fonts-type1}} المتوفرة في المستودعات الرسمية.<br />
<br />
===فايرفوكس يستخدم خطوطا قبيحة في صفحات معينة ===<br />
عندما يستخدم متصفح firefox خطوط نقطية، ينتج عن ذلك خطوط قبيحة جدًا في عدد من الصفحات مقارنةً مع متصفح Google Chrome على سبيل المثال :<br />
<br />
http://i.imgur.com/SMVdi.png vs http://i.imgur.com/jNmxU.png<br />
<br />
لحل هذه المشكلة ، قم بإلغاء تفعيل الخطوط النقطية لمخدم العرض X :<br />
<div align=left dir=ltr><br />
# ln -s /etc/fonts/conf.avail/70-no-bitmaps.conf /etc/fonts/conf.d/<br />
</div><br />
===حل بعض مشكلات خطوط فايرفوكس بخطوط جوجل ===<br />
بعض مشكلات الخطوط في متصفح firefox يُمكن حلها عن طريق تنصيب خطوط Google من حزم AUR {{AUR|ttf-google-fonts-hg}} أو {{AUR|ttf-google-fonts-git}}. هذه الخطوط ستقوم بتحسين عرض تطبيقات Google Drive بشكل كبير.<br />
<br />
===لا يمكن انسدال القائمة بعد الترقية لفايرفوكس 13 ===<br />
هذه المشكلة متعلقة [https://bugzilla.mozilla.org/show_bug.cgi?id=787943 بهذه العلة]، هذه العلة قد تؤثر على أي مستخدم يقوم بهذا الضبط :<br />
<div align=left dir=ltr><br />
GTK_IM_MODULE=xim<br />
</div><br />
عندما يقوم بتهيئة إعدادات الإدخال.<br />
<br />
== انظر أيضا ==<br />
* [http://www.mozilla.org/firefox/ Official Website]<br />
* [http://www.mozilla.org/ Mozilla Foundation]<br />
* [https://wiki.mozilla.org/Firefox Firefox Wiki]<br />
* [https://addons.mozilla.org/ Firefox Add-ons]<br />
* [http://www.getpersonas.com/ Firefox Persona Themes]<br />
</div></div>Abd allatifhttps://wiki.archlinux.org/index.php?title=Firefox&diff=261082Firefox2013-06-04T11:37:50Z<p>Abd allatif: </p>
<hr />
<div>[[ar:Firefox]]<br />
[[cs:Firefox]]<br />
[[es:Firefox]]<br />
[[fr:Firefox]]<br />
[[it:Firefox]]<br />
[[ja:Firefox]]<br />
[[ko:Firefox]]<br />
[[ru:Firefox]]<br />
[[tr:Firefox]]<br />
[[zh-CN:Firefox]]<br />
[[Category:Web Browser]]<br />
{{Article summary start}}<br />
{{Article summary text|Installing and troubleshooting the Firefox browser and plugins}}<br />
{{Article summary heading|Related}}<br />
{{Article summary wiki|Browser Plugins}}<br />
{{Article summary wiki|Firefox Tweaks}}<br />
{{Article summary wiki|Chromium}}<br />
{{Article summary wiki|Opera}}<br />
{{Article summary end}}<br />
[http://www.firefox.com Firefox] is a popular open-source graphical web browser from [http://www.mozilla.com Mozilla].<br />
<br />
== Installing ==<br />
Firefox can be [[Pacman|installed]] with the {{Pkg|firefox}} package, available in the [[official repositories]].<br />
<br />
There are a number of language packs available for Firefox, other than the standard English. Language packs are usually named as {{ic|firefox-i18n-languagecode}} (where {{ic|languagecode}} can be any language code, such as '''de''', '''ja''', '''fr''', etc.). For a list of available language packs see [https://www.archlinux.org/packages/?sort=&q=firefox-i18n&maintainer=&last_update=&flagged=&limit=100 this].<br />
<br />
If Firefox does not anti-alias and/or hint your fonts, try to install {{AUR|ttf-win7-fonts}} (preferred) or {{AUR|ttf-ms-fonts}} and take a look at [[Font Configuration]].<br />
<br />
== Add-ons ==<br />
Firefox is well known for its large library of add-ons which can be used to add new features or modify the behavior of existing features of Firefox. You can find new add-ons or manage installed add-ons with Firefox's "Add-ons Manager."<br />
<br />
For a list of popular add-ons, see [https://addons.mozilla.org/en-US/firefox/extensions/?sort=popular Mozilla's add-on list sorted by popularity].<br />
<br />
== Plugins ==<br />
{{Box||See the main article: [[Browser Plugins]]|#E5E5FF|#FCFCFC}}<br />
<br />
To find out what plugins are installed/enabled, enter:<br />
about:plugins<br />
in the Firefox address bar or go to the ''Add-ons'' entry in the Firefox Menu and select the ''Plugins'' tab.<br />
<br />
=== GNOME Keyring integration ===<br />
Install {{AUR|firefox-gnome-keyring}} from the [[AUR]] to integrate Firefox with [[GNOME Keyring]]. To make firefox-gnome-keyring use your login keychain, set extensions.gnome-keyring.keyringName to "login" (without the double quotes) in about:config. Note the lowercase 'l' despite the the keychain name having an uppercase 'L' in Seahorse.<br />
<br />
=== KDE integration ===<br />
* To use KDE's KPart technology with Firefox, by embedding different KDE file viewers into the browser, you can install {{Pkg|kpartsplugin}}.<br />
<br />
* To get further integration with KDE's Oxygen theme, you can install [http://kde-look.org/content/show.php/?content=117962 Oxygen KDE], a very comprehensive theme that also has color scheme detection, support for Firefox's Persona themes, support for both the Oxygen and Faenza icons and various other customizations.<br />
<br />
* For integration with KDE’s mime type system and file dialogs, one can use a [https://aur.archlinux.org/packages/firefox-kde-opensuse version of firefox] with OpenSUSE’s patches applied.<br />
<br />
=== Dictionaries for spell checking ===<br />
To enable spell checking for a specific language right click on any text field and check the ''Check Spelling'' box. To select a language for spell checking to you have right click again and select your language from the ''Languages'' sub-menu.<br />
<br />
To get more languages just click ''Add Dictionaries...'' and select the dictionary you want to install from the list.<br />
<br />
Alternatively, you can install the {{Pkg|hunspell}} package, available in the [[official repositories]]. You also need to install dictionaries for your language, such as {{Pkg|hunspell-fr}} (for the French language) or {{Pkg|hunspell-he}} (for Hebrew).<br />
<br />
By default, Firefox will try to symlink all your hunspell dictionaries in {{ic|/usr/lib/firefox/dictionaries}}. If you want to have less dictionaries offered to you in Firefox, you can remove some of those links. Be aware that it may not stand an upgrade of Firefox.<br />
<br />
=== Adding Firefox search engines ===<br />
<br />
Search engines can be added to Firefox through normal add-ons, see [https://addons.mozilla.org/en-US/firefox/search-tools/ this page] for a list of available search engines.<br />
<br />
A very extensive list of search engines can be found [http://mycroft.mozdev.org/ here].<br />
<br />
Also, you can use the [https://firefox.maltekraus.de/extensions/add-to-search-bar add-to-searchbar] extension to add a search to your search bar from any web site, by simply right clicking on the site's search field and selecting ''Add to Search Bar...''<br />
<br />
If you want a manual solution, take a look at {{ic|~/.mozilla/firefox/xxx.default/searchplugins/}} (where xxx is your profile ID).<br />
<br />
==== arch-firefox-search ====<br />
Install the {{Pkg|arch-firefox-search}} package, available in the [[official repositories]], to add Arch-specific searches (AUR, wiki, forum, etc, as specified by user) to the Firefox search toolbar.<br />
<br />
== Firefox derivatives ==<br />
<br />
* {{App|[[Wikipedia:Mozilla Corporation software rebranded by the Debian project#IceWeasel|Iceweasel]]|A fork of Firefox that is being developed by Debian. The main difference is that it does not include any trademarked Mozilla artwork.|http://wiki.debian.org/Iceweasel|{{AUR|iceweasel}}}}<br />
{{Note|For some more information about Iceweasel's existance see [http://web.glandium.org/blog/?p&#61;97 this blog post].}}<br />
* {{App|[[Wikipedia:Gnu IceCat|GNU IceCat]]|A web browser distributed by the GNU Project. It is made entirely of free software and is compatible with the GNU/Linux operating system and almost all of Firefox's addons. |http://www.gnu.org/software/gnuzilla/|{{AUR|icecat}}}}<br />
* {{App|Firefox KDE|A version of Firefox that incorporates an OpenSUSE patch for better KDE integration than is possible through simple Firefox plugins.|http://gitorious.org/firefox-kde-opensuse|{{AUR|firefox-kde-opensuse}}}}<br />
<br />
== Troubleshooting ==<br />
<br />
=== Setting your e-mail client ===<br />
Firefox is usually set to open {{ic|mailto}} links with a web application such as Gmail or Yahoo Mail. To set your e-mail client in Firefox to use with {{ic|mailto}} links, go to ''Preferences > Applications'' and modify the ''action'' column corresponding to the {{ic|mailto}} content type. You have set this to the exact location of your e-mail client (e.g. {{ic|/usr/bin/kmail}} for Kmail).<br />
<br />
=== Open containing folder problems (GNOME 3) ===<br />
If you expect Firefox to launch [[Nautilus]] when using the "Open Containing Folder" option in the Downloads manager, but [[Thunar]] or [[Wine]] Explorer launches instead, check these two lines in your user's {{ic|~/.local/share/applications/defaults.list}}:<br />
<br />
inode/directory=<someprogram>.desktop<br />
x-directory/normal=<someprogram>.desktop<br />
<br />
If {{ic|<someprogram>}} is not {{ic|nautilus}}, change them to be so.<br />
<br />
=== Open containing folder problems (KDE) ===<br />
If Firefox launches something other than your preferred file manager when using the "Open Containing Folder" option in the Downloads manager, make sure you select your file manager of choice (e.g. [[Dolphin]]) in KDE's System Settings under ''Workspace Appearance and Behavior > Default Applications > File Manager''.<br />
<br />
If Firefox is still not opening your file manager of choice, modify your user's {{ic|~/.local/share/applications/defaults.list}} to include these two lines:<br />
x-directory/normal=kde4-dolphin.desktop;kde4-kfmclient_dir.desktop;<br />
inode/directory=kde4-dolphin.desktop;kde4-kfmclient_dir.desktop;kde4-gwenview.desktop;kde4-filelight.desktop;kde4-cervisia.desktop;<br />
<br />
=== Firefox keeps creating ~/Desktop even when this is not desired ===<br />
Firefox uses {{ic|~/Desktop}} as the default place for download and upload files. To set it to another folder, create {{ic|~/.config/user-dirs.dirs}} and add:<br />
XDG_DESKTOP_DIR="/home/<user>/"<br />
XDG_DOWNLOAD_DIR="/home/<user>/<dir>"<br />
XDG_TEMPLATES_DIR="/home/<user>/<dir>"<br />
XDG_PUBLICSHARE_DIR="/home/<user>/<dir>"<br />
XDG_DOCUMENTS_DIR="/home/<user>/<dir>"<br />
XDG_MUSIC_DIR="/home/<user>/<dir>"<br />
XDG_PICTURES_DIR="/home/<user>/<dir>"<br />
XDG_VIDEOS_DIR="/home/<user>/<dir>"<br />
Change {{ic|<user>}} and {{ic|<dir>}} to the actual directory.<br />
<br />
=== Make plugins respect blocked pop-ups ===<br />
Some plugins can misbehave and bypass the default settings, such as the Flash plugin. You can prevent this by doing the following:<br />
<br />
# Type {{ic|about:config}} into the address bar.<br />
# Right-click on the page and select {{ic|New}} and then {{ic|Integer}}.<br />
# Name it {{ic|privacy.popups.disable_from_plugins}}.<br />
# Set the value to 2.<br />
<br />
The possible values are:<br />
* '''0''': Allow all popups from plugins.<br />
* '''1''': Allow popups, but limit them to dom.popup_maximum.<br />
* '''2''': Block popups from plugins.<br />
* '''3''': Block popups from plugins, even on whitelisted sites.<br />
<br />
=== Middle-click errors ===<br />
A common error message you can get while using the middle mouse button in Firefox is:<br />
The URL is not valid and cannot be loaded.<br />
<br />
Another symptom is that middle-clicking results in unexpected behavior, like accessing a random web page.<br />
<br />
The reason stems from the use of the middle mouse buttons in UNIX-like operating systems. The middle mouse button is used to paste whatever text has been highlighted/added to the clipboard. Then there is the possibly conflicting feature in Firefox, which defaults to loading the URL of the corresponding text when the button is depressed. This can be easily disabled by going to {{ic|about:config}} and setting the {{ic|middlemouse.contentLoadURL}} option to '''false'''.<br />
<br />
Alternatively, having the traditional scroll cursor on middle-click (default behavior on Windows browsers) can be achieved by searching for {{ic|general.autoScroll}} and setting it to '''true'''.<br />
<br />
=== Backspace does not work as the 'Back' button ===<br />
As per [http://ubuntu.wordpress.com/2006/12/21/fix-firefox-backspace-to-take-you-to-the-previous-page/ this article], the feature has been removed in order to fix a bug. To re-introduce the original behavior go to {{ic|about:config}} and set the {{ic|browser.backspace_action}} option to '''0''' (zero).<br />
<br />
=== Firefox does not remember login information ===<br />
It may be due to a corrupted {{ic|cookies.sqlite}} file in [http://support.mozilla.com/en-US/kb/Profiles#How_to_find_your_profile Firefox's profile] folder. In order to fix this, just rename or remove {{ic|cookie.sqlite}} while Firefox is not running.<br />
<br />
Open a terminal of choice and type the following:<br />
$ cd ~/.mozilla/firefox/xxxxxxxx.default/<br />
$ rm -f cookies.sqlite<br />
{{Note|xxxxxxxx represents a random string of 8 characters.}}<br />
<br />
Restart Firefox and see if it solved the problem.<br />
<br />
=== Unreadable input fields with dark GTK+ themes ===<br />
When using a dark [[GTK+]] theme, one might encounter Internet pages with unreadable input and text fields (e.g. Amazon can have white text on white background). This can happen because the site only sets either background or text color, and Firefox takes the other one from the theme.<br />
<br />
A work around is to explicitly setting standard colors for all web pages in {{ic|~/.mozilla/firefox/xxxxxxxx.default/chrome/userContent.css}}.<br />
<br />
The following sets input fields to standard black text / white background; both can be overridden by the displayed site, so that colors are seen as intended:<br />
{{bc|<br />
input {<br />
-moz-appearance: none !important;<br />
background-color: white;<br />
color: black;<br />
}<br />
<br />
textarea {<br />
-moz-appearance: none !important;<br />
background-color: white;<br />
color: black;<br />
}<br />
<br />
select {<br />
-moz-appearance: none !important;<br />
background-color: white;<br />
color: black;<br />
}<br />
}}<br />
<br />
This will force the colors ("Allow pages to choose their own colors..." checkbox in the ''Preferences > Content > Color'' dialog):<br />
{{bc|<br />
input {<br />
-moz-appearance: none !important;<br />
background-color: pink !important;<br />
color: green !important;<br />
}<br />
<br />
textarea {<br />
-moz-appearance: none !important;<br />
background-color: pink !important;<br />
color: green !important;<br />
}<br />
<br />
select {<br />
-moz-appearance: none !important;<br />
background-color: pink !important;<br />
color: green !important;<br />
}<br />
}}<br />
Change color values to suit, or use an add-on like [https://addons.mozilla.org/en-US/firefox/addon/2108 Stylish].<br />
<br />
=== File association problems ===<br />
For non-[[GNOME]] users, Firefox may not associate file types properly or at all (in the "Open With" part of the download dialog). Installing {{Pkg|libgnome}} from the [[official repositories]] amends the problem.<br />
<br />
If you are using [[KDE]] you can also do the following:<br />
ln -s ~/.local/share/applications/mimeapps.list ~/.local/share/applications/mimeinfo.cache<br />
From now on Firefox should use the applications which are explicitly set in KDE.<br />
<br />
=== "Do you want Firefox to save your tabs for the next time it starts?" dialog does not appear ===<br />
From the [http://support.mozilla.com/en-US/questions/767751 Mozilla Support] site:<br />
<br />
# Type {{ic|about:config}} in the address bar.<br />
# Set {{ic|browser.warnOnQuit}} to '''true'''.<br />
# Set {{ic|browser.showQuitWarning}} to '''true'''.<br />
<br />
=== Firefox uses ugly fonts for its interface ===<br />
<br />
If the fonts in the menu bar look ugly to you, chances are you're missing better looking fonts for Firefox to use. As a quick remedy, just install Type 1 fonts from the {{Pkg|xorg-fonts-type1}} package, available in the official repositories.<br />
<br />
=== Firefox uses ugly fonts on certain web pages ===<br />
<br />
When Firefox uses bitmap fonts, it can happen that on certain web pages the fonts are very ugly (compared to Google Chrome for example):<br />
<br />
http://i.imgur.com/SMVdi.png vs http://i.imgur.com/jNmxU.png<br />
<br />
To fix that, just disable bitmap fonts for X:<br />
# ln -s /etc/fonts/conf.avail/70-no-bitmaps.conf /etc/fonts/conf.d/<br />
<br />
=== Solve some Firefox font issues with Google Fonts ===<br />
<br />
Some Firefox font issues may also be solved by installing the Google Fonts via the AUR packages {{AUR|ttf-google-fonts-hg}} or {{AUR|ttf-google-fonts-git}}. These fonts may greatly improve the appearance of Google Drive apps.<br />
<br />
=== The menu cannot pop-up after updating to Firefox 13 ===<br />
This problem is most probably related to this [https://bugzilla.mozilla.org/show_bug.cgi?id=787943 bug] and it may affect any user that sets<br />
GTK_IM_MODULE=xim<br />
<br />
while configuring their input method.<br />
<br />
It appears to happen especially to those who are using [[Fcitx]] 4.0.x (at that time Fcitx only supported XIM). With newer version of Fcitx, XIM is discouraged and you should set:<br />
GTK_IM_MODULE=fcitx<br />
<br />
For more information see the [[Fcitx]] page.<br />
<br />
== See also ==<br />
* [http://www.mozilla.org/firefox/ Official Website]<br />
* [http://www.mozilla.org/ Mozilla Foundation]<br />
* [https://wiki.mozilla.org/Firefox Firefox Wiki]<br />
* [https://addons.mozilla.org/ Firefox Add-ons]<br />
* [http://www.getpersonas.com/ Firefox Persona Themes]</div>Abd allatifhttps://wiki.archlinux.org/index.php?title=Firefox_(%D8%A7%D9%84%D8%B9%D8%B1%D8%A8%D9%8A%D8%A9)&diff=261077Firefox (العربية)2013-06-04T11:24:40Z<p>Abd allatif: </p>
<hr />
<div>[[Category:Web Browser (العربية)]]<br />
[[Category:العربية]]<br />
[[en:Firefox]]<br />
[[cs:Firefox]]<br />
[[es:Firefox]]<br />
[[fr:Firefox]]<br />
[[it:Firefox]]<br />
[[ja:Firefox]]<br />
[[ko:Firefox]]<br />
[[ru:Firefox]]<br />
[[tr:Firefox]]<br />
[[zh-CN:Firefox]]<br />
<div align=right dir=rtl><br />
[http://www.firefox.com Firefox] هو متصفح رسومي شهير مفتوح المصدر من شركة [http://www.mozilla.com Mozilla].<br />
== التنصيب ==<br />
متصفح firefox يُمكن تنصيبه من الحزمة {{Pkg|firefox}} المتوفرة من المستودعات الرسمية.<br />
هنالك عدد من الحزم اللغات متوفرة لمتصفح firefox، غير اللغة الإنكليزية الإفتراضية. حزم اللغات تُسمى عادة {{ic|firefox-i18n-languagecode}}. حيث {{ic|languagecode}} يمكن أن يكون الكود الخاص بالغة ar,fr أو ja ...الخ . للحصول على قائمة كاملة باسماء الحزم يمكنك الرجوع الى الرابط [https://www.archlinux.org/packages/?sort=&q=firefox-i18n&maintainer=&last_update=&flagged=&limit=100 التالي].<br />
<br />
إذا لم يقم firefox بإظهار حواف ناعمة للخطوط، قم بمحاولة تنصيب حزمة الخطوط {{AUR|ttf-win7-fonts}} أو {{AUR|ttf-ms-fonts}} ومن ثم قم بإلقاء نظرة على إعدادت الخطوط.<br />
<br />
<br />
== الملحقات add-ons ==<br />
إن متصفح firefox مشهور بعدد الملحقات الكبير الذي يمكن تنصيبها عليه والتي تجلب مزايا جديدة أو تُعدل سلوك مزايا موجودة مُسبقًا في firefox. يمكنك الحصول على محلقات جديدة أو التحكم في المحلقات المُنصبة مُستخدمًا "مدير المحلقات" الخاص بمتصفح firefox.<br />
للحصول على قائمة بإشهر المحلقات راجع الصفحة التالية [https://addons.mozilla.org/en-US/firefox/extensions/?sort=popular Mozilla's add-on list sorted by popularity].<br />
<br />
== الإضافات plugins ==<br />
لكي تعرف ما هي الإضافات المُنصبة على متصفح firefox قم بإدخال :<br />
<div align=left dir=ltr><br />
about:plugins<br />
</div><br />
في شريط العنوان، أو بالذهاب الى قيد ''Add-ons'' في القوائم ومن ثم قم بتحديد لسان ''Plugins''<br />
<br />
=== GNOME Keyring integration ===<br />
Install {{AUR|firefox-gnome-keyring}} from the [[AUR]] to integrate Firefox with [[GNOME Keyring]]. To make firefox-gnome-keyring use your login keychain, set extensions.gnome-keyring.keyringName to "login" (without the double quotes) in about:config. Note the lowercase 'l' despite the the keychain name having an uppercase 'L' in Seahorse.<br />
<br />
===التكامل مع KDE ===<br />
* To use KDE's KPart technology with Firefox, by embedding different KDE file viewers into the browser, you can install {{Pkg|kpartsplugin}}.<br />
<br />
* To get further integration with KDE's Oxygen theme, you can install [http://kde-look.org/content/show.php/?content=117962 Oxygen KDE], a very comprehensive theme that also has color scheme detection, support for Firefox's Persona themes, support for both the Oxygen and Faenza icons and various other customizations.<br />
<br />
* For integration with KDE’s mime type system and file dialogs, one can use a [https://aur.archlinux.org/packages/firefox-kde-opensuse version of firefox] with OpenSUSE’s patches applied.<br />
<br />
=== القواميس لتصحيح مدخلات المستخدم ===<br />
لكي تقوم بتفعيل التدقيق اللغوي للغة مُحددة، قم بالنقر بالزر الأيمن للفأرة على مربع النص وقم بتفعيل خيار ''Check Spelling''. لكي تُحدد اللغة التي سيتم التدقيق اللغوي فيها قم بالضغط مرة اخرى بالزر الأيمن وقم بتحديد لغتك من القائمة الفرعية المُعنونة ''Languages''.<br />
للحصول على لغات غضافية قم بالضغط على ''Add Dictionaries...'' و من ثم قم بتحديد اللغة التي تريد تنصيبها من الخيارات.<br />
<br />
بشكل بديل، يمكنك تنصيب حزمة {{Pkg|hunspell}} المتوفرة في المستودعات الرسمية، ويتوجب عليك بعدها تنصيب القواميس الخاصة بلغتك كحزمة {{Pkg|hunspell-ar}} للغة العربية و حزمة {{Pkg|hunspell-fr}} للغة الفرنسية.<br />
بشكل إفتراضي، fireofx يقوم بإنشاء روابط الى جميع قواميس hunspell الموجودة في {{ic|/usr/lib/firefox/dictionaries}}. إذا اردت الحصول على قواميس أقل في القائمة المتوفرة في المتصفح، يُمكنك حذف بعض من هذه الروابط. لكن كن مدركًا أن تحديث المتصفح سيقوم بإعادة الروابط التي تم حذفها.<br />
<br />
=== إضافة مُحركات بحث الى متصفح firefox ===<br />
مُحركات البحث يُمكن إضافتها كملحقات عادية، راجع المقال التالي [https://addons.mozilla.org/en-US/firefox/search-tools/ this page] for a list of available search engines.<br />
قائمة كبيرة جدًا بمجركات البحث يمكن أيجادها [http://mycroft.mozdev.org/ هنا].<br />
أيضًا يُمكنك إستخدام المحلق [https://firefox.maltekraus.de/extensions/add-to-search-bar add-to-searchbar] لإضافة محركات البحث الموجودة في أي موقع الى شريط البحث الخاص بك عن طريق الضغط عليه بالزر الأيمن للفأرة وتحديد الخيار ''Add to Search Bar...''.<br />
إذا أردت إضافة مُحركات البحث يدويًا يمكنك إلقاء نظرة على الملف {{ic|~/.mozilla/firefox/profile-id.default/searchplugins/}} (حيث profile-id هو profile ID الخاص بك).<br />
<br />
====حزمة arch-firefox-search ====<br />
يُمكنك تنصيب حزمة {{Pkg|arch-firefox-search}} المتوفرة في المستودعات الرسمية، لإضافة حقل بحث خاص بأرتش لينكس (AUR، الوكي، المنتدى...الخ) في متصفح firefox.<br />
<br />
==مشتقات المتصفح فايرفوكس ==<br />
<br />
* {{App|[[Wikipedia:Mozilla Corporation software rebranded by the Debian project#IceWeasel|Iceweasel]]|A fork of Firefox that is being developed by Debian. The main difference is that it does not include any trademarked Mozilla artwork.|http://wiki.debian.org/Iceweasel|{{AUR|iceweasel}}}}<br />
{{Note|For some more information about Iceweasel's existance see [http://web.glandium.org/blog/?p&#61;97 this blog post].}}<br />
* {{App|[[Wikipedia:Gnu IceCat|GNU IceCat]]|A web browser distributed by the GNU Project. It is made entirely of free software and is compatible with the GNU/Linux operating system and almost all of Firefox's addons. |http://www.gnu.org/software/gnuzilla/|{{AUR|icecat}}}}<br />
* {{App|Firefox KDE|A version of Firefox that incorporates an OpenSUSE patch for better KDE integration than is possible through simple Firefox plugins.|http://gitorious.org/firefox-kde-opensuse|{{AUR|firefox-kde-opensuse}}}}<br />
<br />
== إسكتشاف الأخطاء و إصلاحها ==<br />
<br />
=== تحديد عميل البريد الإلكتروني الخاص بك ===<br />
يقوم firefox عادةً بفتح روابط {{ic|mailto}} بإستخدام تطبيقات الويب كتطبيق Gmail أو Yahoo. لتحديد عميل البريد الإلكتروني المُفضل لديك في firefox الذي ستم فتحه عند الضغط على روابط {{ic|mailto}}، قم بالذهاب الى ''Preferences > Applications'' وقم بتعديل حقل ''action'' الخاص بنوع المحتوى {{ic|mailto}}. بالطبع يتوجب عليك تحديد المسار الكامل لعميل البريد الإلكتروني (على سبيل المثال {{ic|/usr/bin/kmail}} لبرنامج Kmail).<br />
<br />
=== مشاكل Open containing folder في واجهة GNOME3 ===<br />
إذا كنت تتوقع تشغيل متصفح الملفات [[Nautilus]] عندما تقوم بالضغط على خيار "Open Containing Folder" في مدير التنزيلات، لكن متصفح ملفات [[Thunar]] أو [[Wine]] يتم تشغيله عوضًا عنه، يمكنك التحقق من السطرين التاليين في ملف {{ic|~/.local/share/applications/defaults.list}}:<br />
<div align=left dir=ltr><br />
inode/directory=<someprogram>.desktop<br />
x-directory/normal=<someprogram>.desktop<br />
</div><br />
إذا كانت قيمة {{ic|<someprogram>}} ليست {{ic|nautilus}}، فقم بتغييرها الى ذلك.<br />
<br />
=== مشاكل Open containing folder في واجهة KDE ===<br />
اذا كنت تتوقع تشغيل متصفح الملفات المُفضل لديك عندما تقوم بالضغط على خيار "Open Containing Folder" في مدير التنزيلات، لكن متصفح ملفات آخر تم تشغيله عوضًا عنه، يمكنك إستخدام متصفح الملفات المفضل لديك وليكن [[Dolphin]] في لوحة التحكم الخاصة بكدي تحت ''Workspace Appearance and Behavior > Default Applications > File Manager''.<br />
إذا كان firefox ما يزال لا يفتح المجلدات بمتصفح الملفات الذي تُفضل قم بتعديل الملف التالي مُضمنًا السطرين التاليين :<br />
<div align=left dir=ltr><br />
x-directory/normal=kde4-dolphin.desktop;kde4-kfmclient_dir.desktop;<br />
inode/directory=kde4-dolphin.desktop;kde4-kfmclient_dir.desktop;kde4-gwenview.desktop;kde4-filelight.desktop;kde4-cervisia.desktop;<br />
</div><br />
===استمرار فايرفوكس في إنشاء الدليل Desktop/~ حتى ولو لم يكن مطلوبا ===<br />
متصفح firefox يستخدم {{ic|~/Desktop}} كمكان افتراضي للملفات المحملة والمرفوعة. يمكنك وضعها الى مجلد آخر عن طريق إنشاء ملف {{ic|~/.config/user-dirs.dirs}} وإضافة الأسطر التالية إليه :<br />
<div align=left dir=ltr><br />
XDG_DESKTOP_DIR="/home/<user>/"<br />
XDG_DOWNLOAD_DIR="/home/<user>/<dir>"<br />
XDG_TEMPLATES_DIR="/home/<user>/<dir>"<br />
XDG_PUBLICSHARE_DIR="/home/<user>/<dir>"<br />
XDG_DOCUMENTS_DIR="/home/<user>/<dir>"<br />
XDG_MUSIC_DIR="/home/<user>/<dir>"<br />
XDG_PICTURES_DIR="/home/<user>/<dir>"<br />
XDG_VIDEOS_DIR="/home/<user>/<dir>"<br />
</div><br />
قم بتغيير {{ic|<user>}} و {{ic|<dir>}} إلى المجلد الفعلي لديك.<br />
<br />
=== إلزام الإضافات بمنع النوافذ المنبثقة ===<br />
بعض الإضافات تقوم بتجاوز الإعدادات الإفتراضية، كإضافة Flash. لذا يمكنك منع ذلك عن طريق التالي :<br />
<br />
# قم بكتابة {{ic|about:config}} في شريط العنوان.<br />
# قم بالضغط بالزر الأيمن للفأرة وقم بالنقر على {{ic|New}} ومن ثم النقر على {{ic|Integer}}.<br />
# قم بتسمة الخاصية الجديدة {{ic|privacy.popups.disable_from_plugins}}.<br />
# قم بتحديد قيمتها الى 2.<br />
<br />
القيم المُمكنة هي :<br />
* '''0''': قم بالسماح بالنوافذ المنبثقة من جميع الإضافات.<br />
* '''1''': قم بالسماح بالنوافذ المنبثقة لكن قم بتحديدهم بقيمة الخيار dom.popup_maximum.<br />
* '''2''': قم بمنع النوافذ المنبثقة من الإضافات.<br />
* '''3''': قم بمنع النوافذ المنبثقة من الإضافاتن حتى في المواقع المسموح بها.<br />
<br />
===رسائل خطأ زر الفأرة اﻷوسط ===<br />
A common error message you can get while using the middle mouse button in Firefox is:<br />
<div align=left dir=ltr><br />
The URL is not valid and cannot be loaded.<br />
</div><br />
Another symptom is that middle-clicking results in unexpected behavior, like accessing a random web page.<br />
<br />
The reason stems from the use of the middle mouse buttons in UNIX-like operating systems. The middle mouse button is used to paste whatever text has been highlighted/added to the clipboard. Then there is the possibly conflicting feature in Firefox, which defaults to loading the URL of the corresponding text when the button is depressed. This can be easily disabled by going to {{ic|about:config}} and setting the {{ic|middlemouse.contentLoadURL}} option to '''false'''.<br />
<br />
Alternatively, having the traditional scroll cursor on middle-click (default behavior on Windows browsers) can be achieved by searching for {{ic|general.autoScroll}} and setting it to '''true'''.<br />
<br />
===مفتاح Backspace لا يعمل كزر عودة ===<br />
حسب [http://ubuntu.wordpress.com/2006/12/21/fix-firefox-backspace-to-take-you-to-the-previous-page/ هذا المقال]، فإن هذه الميزة تمت إزالتها لحل علّة في المتصفح. لكي تُعيد سلوكها الى ما كانت عليه قم بالذهاب الى {{ic|about:config}} وتحديد قيمة الخيار {{ic|browser.backspace_action}} الى القيمة صفر '''0'''<br />
<br />
===فايرفوكس لا يتذكر بيانات تسجيل الدخول ===<br />
بسبب حدوث عطب في ملف {{ic|cookies.sqlite}} الموجود في مجلد [http://support.mozilla.com/en-US/kb/Profiles#How_to_find_your_profile Firefox's profile]. لكي تحل هذه المشكلة قم بإعادة تسمية أو حذف ملف {{ic|cookie.sqlite}} عندما يكون متصفح firefxo مغلقًا.<br />
<br />
قم بفتح الطرفية وكتالبة هذه الأوامر فيها :<br />
<div align=left dir=ltr><br />
$ cd ~/.mozilla/firefox/xxxxxxxx.default/<br />
$ rm -f cookies.sqlite<br />
</div><br />
{{Note|xxxxxxxx تعني ثمانية محارف عشوائية.}}<br />
<br />
قم الآن بإعادة تشغيل firefox وانظر هل تم حل المشكلة أم لا.<br />
<br />
===حقول الإدخال غير مقروءة مع ثيمات dark GTK+ ===<br />
When using a dark [[GTK+]] theme, one might encounter Internet pages with unreadable input and text fields (e.g. Amazon can have white text on white background). This can happen because the site only sets either background or text color, and Firefox takes the other one from the theme.<br />
<br />
A work around is to explicitly setting standard colors for all web pages in {{ic|~/.mozilla/firefox/xxxxxxxx.default/chrome/userContent.css}}.<br />
<br />
The following sets input fields to standard black text / white background; both can be overridden by the displayed site, so that colors are seen as intended:<br />
<div align=left dir=ltr><br />
{{bc|<br />
input {<br />
-moz-appearance: none !important;<br />
background-color: white;<br />
color: black;<br />
}<br />
<br />
textarea {<br />
-moz-appearance: none !important;<br />
background-color: white;<br />
color: black;<br />
}<br />
<br />
select {<br />
-moz-appearance: none !important;<br />
background-color: white;<br />
color: black;<br />
}<br />
}}<br />
</div><br />
This will force the colors ("Allow pages to choose their own colors..." checkbox in the ''Preferences > Content > Color'' dialog):<br />
<div align=left dir=ltr><br />
{{bc|<br />
input {<br />
-moz-appearance: none !important;<br />
background-color: pink !important;<br />
color: green !important;<br />
}<br />
<br />
textarea {<br />
-moz-appearance: none !important;<br />
background-color: pink !important;<br />
color: green !important;<br />
}<br />
<br />
select {<br />
-moz-appearance: none !important;<br />
background-color: pink !important;<br />
color: green !important;<br />
}<br />
}}<br />
</div><br />
Change color values to suit, or use an add-on like [https://addons.mozilla.org/en-US/firefox/addon/2108 Stylish].<br />
<br />
=== مشاكل الملفات ذات الصلة ===<br />
للمستخدمين الذين لا يستخدمون واجهة [[GNOME]]، متصفح firefox قد لا يقوم بربط البرامج بشكل صحيح، لحل المشكلة قم بتنصيب حزمة {{Pkg|libgnome}} من المستودعات الرسمية.<br />
<br />
إذا كنت تستخدم واجهة KDE يمكنك أيضًا القيام بالتالي :<br />
<div align=left dir=ltr><br />
ln -s ~/.local/share/applications/mimeapps.list ~/.local/share/applications/mimeinfo.cache<br />
</div><br />
الآن متصفح firefox يجب أن يقوم بتشغيل البرمجيات الصحيحة.<br />
<br />
==="هل تريد من فايرفوكس أن يحتفظ بألسنة التصفح عند بدئه المرة القادمة؟" المربع الحواري لا يظهر ===<br />
من موقع [http://support.mozilla.com/en-US/questions/767751 Mozilla Support] :<br />
<br />
# اكتب {{ic|about:config}} in the address bar.<br />
# اضبط {{ic|browser.warnOnQuit}} على '''true'''.<br />
# اضبط {{ic|browser.showQuitWarning}} على '''true'''.<br />
<br />
===فايرفوكس يستخدم خطوطا قبيحة في واجهته ===<br />
إذا شعرت بأن الخطوط التي يستخدمها متصفح firefox قبيحة. هنالك إحتمال بأنه ينقصك خطوط أجمل في firefox. ببساطة قم بتنصيب خطوط "Type 1" من حزمة {{Pkg|xorg-fonts-type1}} المتوفرة في المستودعات الرسمية.<br />
<br />
===فايرفوكس يستخدم خطوطا قبيحة في صفحات معينة ===<br />
عندما يستخدم متصفح firefox خطوط نقطية، ينتج عن ذلك خطوط قبيحة جدًا في عدد من الصفحات مقارنةً مع متصفح Google Chrome على سبيل المثال :<br />
<br />
http://i.imgur.com/SMVdi.png vs http://i.imgur.com/jNmxU.png<br />
<br />
لحل هذه المشكلة ، قم بإلغاء تفعيل الخطوط النقطية لمخدم العرض X :<br />
<div align=left dir=ltr><br />
# ln -s /etc/fonts/conf.avail/70-no-bitmaps.conf /etc/fonts/conf.d/<br />
</div><br />
===حل بعض مشكلات خطوط فايرفوكس بخطوط جوجل ===<br />
بعض مشكلات الخطوط في متصفح firefox يُمكن حلها عن طريق تنصيب خطوط Google من حزم AUR {{AUR|ttf-google-fonts-hg}} أو {{AUR|ttf-google-fonts-git}}. هذه الخطوط ستقوم بتحسين عرض تطبيقات Google Drive بشكل كبير.<br />
<br />
===لا يمكن انسدال القائمة بعد الترقية لفايرفوكس 13 ===<br />
هذه المشكلة متعلقة [https://bugzilla.mozilla.org/show_bug.cgi?id=787943 بهذه العلة]، هذه العلة قد تؤثر على أي مستخدم يقوم بهذا الضبط :<br />
<div align=left dir=ltr><br />
GTK_IM_MODULE=xim<br />
</div><br />
عندما يقوم بتهيئة إعدادات الإدخال.<br />
<br />
== انظر أيضا ==<br />
* [http://www.mozilla.org/firefox/ Official Website]<br />
* [http://www.mozilla.org/ Mozilla Foundation]<br />
* [https://wiki.mozilla.org/Firefox Firefox Wiki]<br />
* [https://addons.mozilla.org/ Firefox Add-ons]<br />
* [http://www.getpersonas.com/ Firefox Persona Themes]<br />
</div></div>Abd allatif