मैक ओएस एक्स पर ssh कनेक्शन टर्मिनल शॉर्टकट कैसे बनाएं?


27

यह हर बार टर्मिनल खोलने और एक संपूर्ण SSH कमांड लिखने के लिए बेकार है। मैं मैक ओएस एक्स 10.6.8 (स्नो लेपर्ड) पर एसएसएच कनेक्शन टर्मिनल शॉर्टकट कैसे बना सकता हूं?

मेरे पास कनेक्ट करने के लिए एक कस्टम पोर्ट भी है।

जवाबों:


80

सबसे अधिक * 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-copy-id -i .ssh / id_rsa.pub उपयोगकर्ता नाम: पासवर्ड @
रिमोटहोस्ट

10

आपके पास कुछ विकल्प हैं जो मैं सोच सकता हूं:

एक .command फ़ाइल बनाएँ

अपने पसंदीदा पाठ संपादक में अपने 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) पर या दस्तावेज़ पढ़कर पा सकते हैं ।


5

इसे करने के कई तरीके हैं। ये है जो मैं करता हूं:

टर्मिनल प्राथमिकताएँ खोलें

गियर आइकन के साथ सेटिंग टैब पर अपनी प्रोफ़ाइल डुप्लिकेट करें। यह आपकी डिफ़ॉल्ट सेटिंग फ़ाइल को बदल देता है, इसलिए दोहराव से पहले अपनी पुरानी डिफ़ॉल्ट को वापस बदल दें।

अपनी नई कस्टम सेटिंग में, स्टार्टअप सेक्शन में रन कमांड में अपने ssh कमांड में शेल टाइप पर क्लिक करें।

कस्टम से अपनी नई सेटिंग का नाम बदलें जो आप चाहते हैं।

अब आप अपना सत्र नई विंडो या नए टैब मेनू आइटम से शुरू कर सकते हैं, और निश्चित रूप से सिस्टम प्राथमिकता में कीबोर्ड और माउस में एक कीबोर्ड शॉर्टकट सौंपा जा सकता है।



3

अपने मैक पर लगभग कहीं से भी ssh कनेक्शन जल्दी खोलने के लिए, निम्नलिखित कार्य करें:

  • टेक्स्टएडिट खोलें और अपने कनेक्शन स्ट्रिंग में टाइप करें: ssh://user@host.com
  • पूरी लाइन का चयन करें और इसे डेस्कटॉप पर खींचें और छोड़ें। परिणाम एक *.inetlocफ़ाइल होगी ।
  • फाइल को अपनी पसंद के किसी भी फोल्डर में ले जाएं। मैंने एक नाम बनाया जो ~/connectionsमेरी सभी *.inetlocफाइलों को रखता है । आप इस फ़ाइल का नाम बदल सकते हैं जो भी आपको पसंद है, और यहां तक ​​कि इसके आइकन को भी बदल सकते हैं।
  • अब आप *.inetlocफ़ाइल को डॉक, फाइंडर के साइडबार या टूल बार, या कहीं और ले जा सकते हैं। (इसे स्पॉटलाइट के साथ भी चुना जा सकता है)
  • यदि आप LaunchBar का उपयोग करते हैं, तो Launchbar कॉन्फ़िगरेशन स्क्रीन (कमांड-Y) खोलें और अपने कनेक्शन फ़ोल्डर के लिए एक और नियम जोड़ें। अब आपका SSH कनेक्शन LaunchBar के साथ खोला जा सकता है। मेरा मानना ​​है कि आप लॉन्चबार और क्विकसिल्वर के साथ भी ऐसा ही कर सकते हैं, जो आपके एसएसएच शॉर्टकट्स की त्वरित लॉन्चिंग को सक्षम करता है।

त्वरित पहुँच ssh शॉर्टकट बनाएँ


1
यह निश्चित रूप से एक दूरस्थ मेजबान पर एक टर्मिनल खोलने का एक अच्छा और त्वरित तरीका है!
सेमीरोनिर्गो

3

उन लोगों के लिए जो अपने ssh के साथ एक निजी कुंजी का उपयोग करते हैं और ~ / .ssh / config विधि का उपयोग करना चाहते हैं, आप कुंजी होस्ट के साथ अपने मेजबान के लिए एक 'IdentityFile' विशेषता जोड़ सकते हैं। अर्थात:

Host SomeServer
    User ubuntu
    HostName someserver.com
    IdentityFile ~/.ssh/private.key

मैंने उत्तर में से एक के रूप में इस बिट को जोड़ा होगा, लेकिन मेरी प्रतिष्ठा अभी भी कम है और मुझे ऐसा करने की अनुमति नहीं है।


2

यदि आप एक फ़ाइल चाहते हैं जिसे आप एक सत्र लॉन्च करने के लिए खोल सकते हैं, तो आप आसानी से एक .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?
डैनियल बेक

हाँ। ssh: // यूजरनेम @ होस्टनाम: पोर्ट भी काम करता है।
तुरादग

1

यदि आप क्विकसिल्वर का उपयोग कर रहे हैं, तो एक महान ऐड-ऑन है जिसे रिमोटहोस्ट्स कहा जाता है जो स्वतः ही एक ~ / .hosts फ़ाइल या यहां तक ​​कि आपकी ~ / .shsh / ज्ञात_होस्ट फ़ाइल को ऑटोपॉप्ट करने के लिए स्कैन करेगा।

एक नए होस्ट से कनेक्ट करना क्विकसिल्वर (सीएमडी-स्पेस) को खोलने के रूप में त्वरित है और फिर होस्ट के पर्याप्त वर्णों में टाइप करने के लिए अद्वितीय है, और अंत में एंटर दबाएं।


0

यदि वह हिस्सा जो आपके लिए बेकार है, एक लंबी और जटिल 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 सुरंग चलाने के लिए हो सकता है।


0

आप अपने स्थानीय बिन निर्देशिका में एक फ़ाइल बना सकते हैं

/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 
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.