जवाबों:
सबसे अधिक * NIX-y उत्तर आपके लाभ के लिए SSH की सुविधाओं का उपयोग करना है।
नाम की एक फ़ाइल बनाएं config
में ~/.ssh/
(एक नामित फ़ोल्डर .ssh
अपने घर फ़ोल्डर में)। प्रत्येक कंप्यूटर के लिए एक प्रविष्टि जोड़ें जिसे आप इस तरह कनेक्ट करना चाहते हैं:
Host compy
HostName 98.256.211.12
Port 90
User sidney
IdentityFile ~/.ssh/my_rsa_key
HostName
एक आईपी पते या एक वास्तविक होस्टनाम हो सकता है। Port
डिफ़ॉल्ट SSH पोर्ट का उपयोग करना अनिवार्य नहीं है IdentityFile
कुंजी का उपयोग नहीं करने पर अनिवार्य नहीं है। ssh compy
यदि आप कुंजी-आधारित प्रमाणीकरण का उपयोग करते हैं और किचेन में अपनी कुंजी का पासवर्ड संग्रहीत करते हैं, तो आपको पासवर्ड दर्ज करने की आवश्यकता नहीं होगी।
इसके अलावा, आप एक .command फ़ाइल (एक्सटेंशन के साथ एक सादा पाठ फ़ाइल) बना सकते हैं जिसमें कमांड लाइन होती है जिसका उपयोग आप सर्वर ( ssh compy
या ssh -i ~/.ssh/my_rsa_key -p 90 sidney@98.256.211.12
) से कनेक्ट करने के लिए करते हैं । यह टर्मिनल में खुलेगा और उस कमांड को रन करेगा।
New Remote Connection…
कनेक्ट करने के लिए आप टर्मिनल में मेनू आइटम का भी उपयोग कर सकते हैं। बस +दाहिने कॉलम में बटन पर क्लिक करके SSH के तहत अपना होस्ट जोड़ें ।
और पढ़ें यहां
आपके पास कुछ विकल्प हैं जो मैं सोच सकता हूं:
अपने पसंदीदा पाठ संपादक में अपने ssh कमांड के साथ एक सादा पाठ फ़ाइल सहेजें, जैसे।
ssh -p 23 admin@server.example.com
फ़ाइल का नाम WHATEVERYOUWANT.command
। फिर आपको .command
फ़ाइल को निष्पादित विशेषाधिकारों के साथ सेट करने की आवश्यकता है ( chmod 755 /PATH/TO/WHATEVERYOUWANT.command
) लेकिन अब आपके पास एक फ़ाइल है जब डबल क्लिक किया गया टर्मिनल खुल जाएगा और उस कमांड को चलाएगा।
मान लें कि आप bash (Mac OS X में डिफ़ॉल्ट शेल) का उपयोग कर रहे हैं, तो आप .bashrc
अपने होम फ़ोल्डर में अपने लिए उपनाम जोड़ सकते हैं ।
जैसे। alias sshserver='ssh -p 23 admin@server.example.com'
आप उपनामों के बारे में [विकिपीडिया] ( http://en.wikipedia.org/wiki/Alias_(command) पर या दस्तावेज़ पढ़कर पा सकते हैं ।
इसे करने के कई तरीके हैं। ये है जो मैं करता हूं:
टर्मिनल प्राथमिकताएँ खोलें
गियर आइकन के साथ सेटिंग टैब पर अपनी प्रोफ़ाइल डुप्लिकेट करें। यह आपकी डिफ़ॉल्ट सेटिंग फ़ाइल को बदल देता है, इसलिए दोहराव से पहले अपनी पुरानी डिफ़ॉल्ट को वापस बदल दें।
अपनी नई कस्टम सेटिंग में, स्टार्टअप सेक्शन में रन कमांड में अपने ssh कमांड में शेल टाइप पर क्लिक करें।
कस्टम से अपनी नई सेटिंग का नाम बदलें जो आप चाहते हैं।
अब आप अपना सत्र नई विंडो या नए टैब मेनू आइटम से शुरू कर सकते हैं, और निश्चित रूप से सिस्टम प्राथमिकता में कीबोर्ड और माउस में एक कीबोर्ड शॉर्टकट सौंपा जा सकता है।
आप एक AppleScript बना सकते हैं जो आपके लिए एक कमांड चलाएगा:
tell application "Terminal"
do script "ssh server.example.com"
end tell
अपने मैक पर लगभग कहीं से भी ssh कनेक्शन जल्दी खोलने के लिए, निम्नलिखित कार्य करें:
ssh://user@host.com
*.inetloc
फ़ाइल होगी ।~/connections
मेरी सभी *.inetloc
फाइलों को रखता है
। आप इस फ़ाइल का नाम बदल सकते हैं जो भी आपको पसंद है, और यहां तक कि इसके आइकन को भी बदल सकते हैं।*.inetloc
फ़ाइल को डॉक, फाइंडर के साइडबार या टूल बार, या कहीं और ले जा सकते हैं। (इसे स्पॉटलाइट के साथ भी चुना जा सकता है)उन लोगों के लिए जो अपने ssh के साथ एक निजी कुंजी का उपयोग करते हैं और ~ / .ssh / config विधि का उपयोग करना चाहते हैं, आप कुंजी होस्ट के साथ अपने मेजबान के लिए एक 'IdentityFile' विशेषता जोड़ सकते हैं। अर्थात:
Host SomeServer
User ubuntu
HostName someserver.com
IdentityFile ~/.ssh/private.key
मैंने उत्तर में से एक के रूप में इस बिट को जोड़ा होगा, लेकिन मेरी प्रतिष्ठा अभी भी कम है और मुझे ऐसा करने की अनुमति नहीं है।
यदि आप एक फ़ाइल चाहते हैं जिसे आप एक सत्र लॉन्च करने के लिए खोल सकते हैं, तो आप आसानी से एक .inetloc बना सकते हैं। TextEdit में अपने होस्ट को SSH URL लिखें, जैसे:
ssh://username@hostname/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://username@hostname/path</string>
</dict>
</plist>
फिर आप उस फ़ाइल को अपने डॉक की तरह कहीं भी रख सकते हैं, या इसे क्विकसिल्वर जैसे लॉन्चर से खोल सकते हैं।
मैंने क्विकसिल्वर के लिए SSH प्लगिन की सिफारिश की होगी, लेकिन नवीनतम I v v4, β54 (3815) की तुलना में नए QS को क्रैश कर सकता है।
hostname:1234
?
यदि आप क्विकसिल्वर का उपयोग कर रहे हैं, तो एक महान ऐड-ऑन है जिसे रिमोटहोस्ट्स कहा जाता है जो स्वतः ही एक ~ / .hosts फ़ाइल या यहां तक कि आपकी ~ / .shsh / ज्ञात_होस्ट फ़ाइल को ऑटोपॉप्ट करने के लिए स्कैन करेगा।
एक नए होस्ट से कनेक्ट करना क्विकसिल्वर (सीएमडी-स्पेस) को खोलने के रूप में त्वरित है और फिर होस्ट के पर्याप्त वर्णों में टाइप करने के लिए अद्वितीय है, और अंत में एंटर दबाएं।
यदि वह हिस्सा जो आपके लिए बेकार है, एक लंबी और जटिल ssh कमांड में टाइप कर रहा है, लेकिन आपको टर्मिनल खोलने में कोई आपत्ति नहीं है, और किसी कारण से आप पिछले उत्तरों में से किसी भी दृष्टिकोण का उपयोग नहीं करना चाहते हैं, तो आप भी उपयोग कर सकते हैं उपनाम या कार्य। कुछ इस तरह से शेल डॉटफाइल (.profile or .bash_profile या .bashrc या .shshrc या .zshrc या जो भी हो) जोड़ें।
alias connect.dev='ssh -p 12345 yourusername@dev.somehost.net'
अन्य तरीकों पर मैं केवल एक ही फायदा देख सकता हूं कि (zsh में कम से कम, और मुझे लगता है कि बैश) आप अपने सभी सर्वर को कनेक्ट करने के लिए देखने के लिए कमांड पूरा करने का उपयोग कर सकते हैं। उदाहरण के लिए, मान लें कि आपके पास 25 अलग-अलग सर्वर हैं, जिनसे आप कनेक्ट होते हैं, और आप उन सभी नामों / उपनामों को याद नहीं करना चाहते जिन्हें आप उन्हें .ssh / config फाइल में रखते हैं। यदि सभी उपनाम एक ही चीज़ से शुरू होते हैं, जैसे 'कनेक्ट'।, तो आप बस कनेक्ट टाइप करें। [TAB] कमांड प्रॉम्प्ट पर, और आपको सभी संभावित पूर्णताएँ दिखाई देंगी। (अस्वीकरण: आपको उस कार्य को प्राप्त करने के लिए कुछ शेल कस्टमाइज़ेशन करने की आवश्यकता हो सकती है, लेकिन मेरा मानना है कि यह डिफ़ॉल्ट रूप से zsh में काम करेगा और शायद बैश में भी।
यदि आपके लिए चूसने वाला हिस्सा टर्मिनल खोल रहा है, तो आप डकबिल की तरह कुछ का उपयोग करने की कोशिश कर सकते हैं , हालांकि केवल एक कारण जो मैं टर्मिनल के ssh OUTSIDE को चलाने के बारे में सोच सकता हूं वह संभवतः एक्स विंडोज सर्वर प्रोग्राम या एक ssh सुरंग चलाने के लिए हो सकता है।
आप अपने स्थानीय बिन निर्देशिका में एक फ़ाइल बना सकते हैं
/usr/local/bin/dev
निम्नलिखित सामग्री के साथ:
#!/bin/bash
ssh -p 12345 username@www.mydomain.com
इसे अमल में लाएं
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