تمتص لفتح المحطة الطرفية في كل مرة وكتابة أمر SSH كاملة. كيف يمكنني إنشاء اختصار لمحطة اتصال SSH على نظام التشغيل Mac OS X 10.6.8 (Snow Leopard)؟
لدي أيضًا منفذ مخصص للاتصال به.
الإجابة الأكثر * NIX-y هي استخدام ميزات SSH لصالحك.
قم بإنشاء ملف باسم config
في ~/.ssh/
(مجلد باسم .ssh
في المجلد الرئيسي). أضف إدخالًا لكل جهاز كمبيوتر تريد الاتصال به ، مثل هذا:
Host compy
HostName 98.256.211.12
Port 90
User sidney
IdentityFile ~/.ssh/my_rsa_key
HostName
يمكن أن يكون إما عنوان IP أو اسم مضيف فعلي.Port
ليس إلزاميًا عند استخدام منفذ SSH الافتراضيIdentityFile
ليست إلزامية إذا لم تستخدم مفتاحًا.سه compy
إذا كنت تستخدم المصادقة المستندة إلى المفاتيح وتخزين كلمة المرور الخاصة بالمفتاح في Keychain ، فلن تحتاج حتى إلى إدخال كلمة مرور.
بالإضافة إلى ذلك ، يمكنك إنشاء ملف .command (ملف نصي عادي بالملحق .command) يحتوي على سطر الأوامر الذي تستخدمه للاتصال بالخادم (ssh compy
أو ssh -i ~/.ssh/my_rsa_key -p 90 [email protected]
). سيتم فتحه في المحطة الطرفية وتشغيل هذا الأمر.
يمكنك أيضًا استخدام عنصر القائمة New Remote Connection…
في المحطة الطرفية للاتصال. فقط أضف المضيف الخاص بك تحت SSH بالنقر فوق + زر في العمود الأيمن.
قراءة المزيد هنا
لديك عدة خيارات يمكنني التفكير فيها:
في محرر النصوص المفضل لديك ، قم بحفظ ملف نص عادي باستخدام أمر ssh ، على سبيل المثال.
ssh -p 23 [email protected]
اسم الملف WHATEVERYOUWANT.command
. ستحتاج بعد ذلك إلى تعيين الملف .command
مع امتيازات التنفيذ (chmod 755 /PATH/TO/WHATEVERYOUWANT.command
) ولكن لديك الآن ملفًا عندما يتم النقر نقرًا مزدوجًا سيفتح Terminal ويقوم بتشغيل هذا الأمر.
على افتراض أنك تستخدم bash (الافتراضي Shell في Mac OS X) ، يمكنك إضافة الأسماء المستعارة إلى .bashrc
في مجلد منزلك.
على سبيل المثال. alias sshserver='ssh -p 23 [email protected]'
يمكنك العثور على المزيد حول الأسماء المستعارة في [Wikipedia] ( http://en.wikipedia.org/wiki/Alias_ (command) أو عن طريق قراءة الوثائق .
هناك العديد من الطرق للقيام بذلك. هنا هو ما أقوم به:
افتح تفضيلات المحطة الطرفية
قم بتكرار ملف التعريف الخاص بك في علامة التبويب "الإعدادات" باستخدام رمز الترس. يؤدي هذا إلى تغيير ملف الإعداد الافتراضي الخاص بك ، لذا قم بتغيير الافتراضي القديم مرة أخرى إلى ما كان عليه قبل الازدواجية.
في إعداداتك المخصصة الجديدة ، انقر فوق Shell type في أمر ssh في قسم Run Command at Startup.
إعادة تسمية الإعداد الجديد الخاص بك من مخصص إلى ما تريد.
يمكنك الآن بدء الجلسة من عناصر قائمة نافذة جديدة أو علامة تبويب جديدة ، وبالطبع يمكن تعيين اختصار لوحة المفاتيح في لوحة المفاتيح والماوس في تفضيلات النظام.
بالنسبة لأولئك الذين يستخدمون مفتاحًا خاصًا مع ssh ويريدون استخدام طريقة ~/.ssh/config ، يمكنك إضافة سمة "IdentityFile" إلى مضيفك متبوعة بمسار المفتاح. أي:
Host SomeServer
User ubuntu
HostName someserver.com
IdentityFile ~/.ssh/private.key
لقد أضفت هذا التعليق كتعليق على أحد الإجابات ، لكن سمعتي لا تزال منخفضة ولا يُسمح لي بذلك.
لفتح اتصال ssh بسرعة من أي مكان تقريبًا على جهاز Mac ، قم بما يلي:
ssh://[email protected]
*.inetloc
.~/connections
يحمل جميع ملفات *.inetloc
الخاصة بي. يمكنك إعادة تسمية هذا الملف إلى ما تريد ، وحتى تغيير الرمز الخاص به.*.inetloc
إلى Dock أو شريط Finder الجانبي أو شريط الأدوات أو إلى أي مكان آخر. (يمكن اختياره حتى مع أضواء كاشفة)يمكنك إنشاء AppleScript يقوم بتشغيل أمر لك:
tell application "Terminal"
do script "ssh server.example.com"
end tell
إذا كنت تريد ملفًا يمكنك فتحه لبدء جلسة ، فيمكنك إنشاء .inetloc بسهولة. في TextEdit ، اكتب عنوان URL لـ SSH للمضيف ، على سبيل المثال:
ssh://[email protected]/path
سوف يتعرف TextEdit على أنه عنوان URL. اسحب عنوان URL إلى سطح المكتب الخاص بك وسوف ينشئ .inetloc على هذا النحو:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.Apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>URL</key>
<string>ssh://[email protected]/path</string>
</dict>
</plist>
يمكنك بعد ذلك وضع هذا الملف في أي مكان ، مثل Dock ، أو فتحه باستخدام مشغل مثل Quicksilver.
كنت قد أوصيت بـ SSH Plugin for Quicksilver ، ولكن أحدث ما يمكنني العثور عليه ، الإصدار 84 ، أعطال QS الأحدث من 54 (3815).
إذا كنت تستخدم Quicksilver ، فهناك وظيفة إضافية رائعة تسمى RemoteHosts والتي ستقوم تلقائيًا بمسح ملف ~/.hosts أو حتى ملف ~/.ssh/known_hosts الخاص بك ليتم تشغيله تلقائيًا.
يكون الاتصال بمضيف جديد بنفس سرعة فتح Quicksilver (CMD-Space) ثم كتابة ما يكفي من أحرف المضيف ليكون فريدًا ، ثم الضغط على مفتاح الإدخال أخيرًا.
يمكنك إنشاء ملف في دليل bin المحلي
/usr/local/bin/dev
مع المحتويات التالية:
#!/bin/bash
ssh -p 12345 [email protected]
اجعلها قابلة للتنفيذ
chmod a+x /usr/local/bin/dev
التي ثم يمكنك الاتصال من المحطة باستخدام
dev
ثم تقوم بإنشاء مهمة الأتمتة لفتحه
tell application "Finder" to set theSel to selection
tell application "Terminal"
set theFol to POSIX path of ((item 1 of theSel) as text)
if (count of windows) is not 0 then
do script "/usr/local/bin/dev2" in window 1
else
do script "/usr/local/bin/dev2"
end if
activate
end tell
يمكنك أيضًا إنشاء اختصار من المشغل أو مفتاح الاختصار على لوحة المفاتيح
قاذفة: اسحب رمز من الأتمتة حفظ في قفص الاتهام
اختصار لوحة المفاتيح:
create as service in automator
open system services -> keyboard -> shortcuts -> app shortcuts -> enter title of automator and key shortcut
إذا كان الجزء الذي تمتصه هو كتابة أمر ssh طويل ومعقد ، لكنك لا تمانع في فتح Terminal ، ولسبب ما لا ترغب في استخدام أي من نهج الإجابات السابقة ، يمكنك أيضًا استخدام الأسماء المستعارة أو الوظائف. أضف شيئًا كهذا إلى Shell dotfile (.profile أو .bash_profile أو .bashrc أو .cshrc أو .zshrc أو أيًا كان):
alias connect.dev='ssh -p 12345 [email protected]'
الميزة الوحيدة التي يمكنني رؤيتها عبر الطرق الأخرى هي أنه (في zsh على الأقل ، وأعتقد أن bash) يمكنك استخدام إكمال الأوامر لرؤية جميع الخوادم الخاصة بك للاتصال بها. على سبيل المثال ، لنفترض أن لديك 25 خادمًا مختلفًا تتصل به ، ولا تريد أن تتذكر جميع الأسماء/الأسماء المستعارة التي قدمتها لهم في ملف .ssh/config. إذا كانت جميع الأسماء المستعارة تبدأ بنفس الشيء ، مثل "الاتصال" ، فحينئذٍ فقط اكتب اتصال. [TAB] في موجه الأوامر ، وسترى جميع الإضافات الممكنة. (إخلاء المسئولية: قد تحتاج إلى القيام ببعض تخصيصات Shell لإنجاز هذا العمل ، لكنني أعتقد أنه سيعمل بشكل افتراضي في zsh وربما في bash أيضًا.)
إذا كان الجزء الذي تمتصه هو فتح Terminal ، فيمكنك محاولة استخدام شيء مثل DuckBill ، على الرغم من الأسباب الوحيدة التي يمكنني التفكير فيها لتشغيل ssh OUTTSIDE من Terminal ربما يكون لتشغيل برامج خادم X Windows أو نفق ssh.