Mac OS X'te bir ssh bağlantısı Terminali kısayolu nasıl oluşturulur?


27

Her seferinde Terminal açmak ve tam bir SSH komutu yazmak için berbat. Mac OS X 10.6.8'de (Snow Leopard) SSH bağlantısı Terminal kısayolu nasıl oluşturabilirim?

Ayrıca bağlanılacak özel bir bağlantı noktası var.

Yanıtlar:


80

En * NIX-y cevabı SSH'nin özelliklerini kendi yararınıza kullanmaktır.

Adlı bir dosya oluşturun configiçinde ~/.ssh/(adında bir klasöre .sshev klasöründe). Bu şekilde bağlanmak istediğiniz her bilgisayar için bir giriş ekleyin:

Host compy
    HostName 98.256.211.12
    Port 90
    User sidney
    IdentityFile ~/.ssh/my_rsa_key
  • HostName IP adresi veya gerçek bir ana bilgisayar adı olabilir.
  • Port Varsayılan SSH portu kullanılıyorsa zorunlu değildir
  • IdentityFileBir anahtar kullanmıyorsanız zorunlu değildir.

    Ardından, bağlanmak için, sadece yazın

ssh compy

Anahtar tabanlı kimlik doğrulaması kullanıyorsanız ve anahtarınızın şifresini Anahtarlıkta saklarsanız, bir şifre girmenize bile gerek kalmaz.

Ayrıca, sunucuya ( ssh compyveya ssh -i ~/.ssh/my_rsa_key -p 90 sidney@98.256.211.12) bağlanmak için kullandığınız komut satırını içeren bir .command dosyası (.com.com uzantılı düz bir metin dosyası ) oluşturabilirsiniz. Terminalde açılacak ve bu komutu çalıştıracak.

New Remote Connection…Bağlanmak için Terminal içindeki menü öğesini de kullanabilirsiniz . +Sağ sütundaki düğmeye tıklayarak sunucunuzu SSH altına ekleyin .

Daha fazla BURAYA oku


Bunu ssh anahtarımı sunucuya eklemekle birlikte kullandım. Açık anahtarınızı şu 'ssh-copy-id -i .ssh / id_rsa.pub kullanıcı adı:: @ remotehost'
jspooner

10

Aklıma gelen birkaç seçeneğiniz var:

Bir .com komut dosyası oluşturun

En sevdiğiniz metin düzenleyicide ssh komutunuzla düz bir metin dosyası oluşturun, örn.

ssh -p 23 admin@server.example.com

Dosyayı adlandırın WHATEVERYOUWANT.command. Daha sonra .commanddosyayı çalıştırma ayrıcalıklarıyla ( chmod 755 /PATH/TO/WHATEVERYOUWANT.command) ayarlamanız gerekir, ancak şimdi çift tıklandığında Terminal'i açacak ve bu komutu çalıştıracak bir dosyanız var.

Kabuğunuz için takma ad oluşturun

Bash kullandığınızı varsayarak (Mac OS X'teki varsayılan kabuk) .bashrcana klasörünüze takma ad ekleyebilirsiniz .

Örneğin. alias sshserver='ssh -p 23 admin@server.example.com'

Takma adlar hakkında daha fazla bilgiyi [Wikipedia] ( http://en.wikipedia.org/wiki/Alias_(command) adresinde veya belgeyi okuyarak bulabilirsiniz.


5

Bunu yapmanın birçok yolu vardır. İşte yaptığım şey:

Terminal Tercihlerini Aç

Profilinizi Ayarlar sekmesinde, dişli simgesini kullanarak çoğaltın. Bu, varsayılan ayar dosyanızı değiştirir, bu nedenle eski varsayılan ayarınızı tekrarlamadan önceki haline getirin.

Yeni özel ayarlarınızda Başlangıçta Komutu Çalıştır bölümündeki ssh komutunuzdaki Kabuk türünü tıklayın.

Yeni ayarınızı Özel'den istediğinize göre yeniden adlandırın.

Artık oturumunuzu Yeni Pencere veya Yeni Sekme menü öğelerinden başlatabilirsiniz ve elbette Klavye Tercihleri ​​Sistem Tercihleri'nde Klavye ve Fare öğesinde atanabilir.


3

Sizin için bir komut çalıştıracak bir AppleScript oluşturabilirsiniz:

tell application "Terminal"
    do script "ssh server.example.com"
end tell

3

Mac'inizdeki neredeyse her yerden bir ssh bağlantısını hızlı bir şekilde açmak için aşağıdakileri yapın:

  • TextEdit’i açın ve aşağıdaki şekilde bağlantı dizginizi yazın: ssh://user@host.com
  • Tüm çizgiyi seçin ve masaüstüne sürükleyip bırakın. Sonuç bir *.inetlocdosya olacak .
  • Dosyayı istediğiniz herhangi bir klasöre taşıyın. ~/connectionsTüm *.inetlocdosyalarımı tutan bir tane yaptım . Bu dosyayı dilediğiniz şekilde yeniden adlandırabilir ve hatta simgesini değiştirebilirsiniz.
  • Artık *.inetlocdosyayı Dock'a, Finder'ın Kenar Çubuğuna veya Araç çubuğuna veya başka bir yere sürükleyip bırakabilirsiniz . (Spotlight ile bile seçilebilir)
  • LaunchBar kullanıyorsanız, Launchbar Yapılandırma ekranını (Command-Y) açın ve bağlantılar klasörünüz için başka bir kural ekleyin. Artık SSH bağlantılarınız LaunchBar ile açılabilir. SSH kısayollarınızın hızlı bir şekilde başlatılmasını sağlayan LaunchBar ve Quicksilver ile benzer yapabileceğinize inanıyorum.

Hızlı erişim ssh kısayolları oluşturun


1
Bu kesinlikle uzak bir ana bilgisayara bir terminal açmak için güzel ve hızlı bir yoldur!
cmroanirgo

3

Kendi ssh ile özel bir anahtar kullanan ve ~ / .ssh / config yöntemini kullanmak isteyenler için ana bilgisayarınıza anahtar yolunu izleyen bir 'IdentityFile' niteliği ekleyebilirsiniz. yani:

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

Bu parçayı cevapların birine yorum olarak eklerdim, ancak itibarım hala düşük ve bunu yapmama izin verilmiyor.


2

Oturum açmak için açabileceğiniz bir dosya istiyorsanız, kolayca bir .inetloc yapabilirsiniz. TextEdit'te, ana makinenize bir SSH URL'si yazın, örneğin:

ssh://username@hostname/path

TextEdit bunu bir URL olarak tanıyacaktır. URL'yi masaüstünüze sürükleyin, böylece bir .inetloc oluşturacaktır:

<?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>

Daha sonra bu dosyayı Dock'unuz gibi herhangi bir yere yerleştirebilir veya Quicksilver gibi bir başlatıcı ile açabilirsiniz.

Quicksilver için SSH Eklentisini tavsiye ederdim, ancak bulabildiğim en son sürüm v.84, QS'yi β54'ten (3815) daha yeni çöküyor.


Bunu bir limanla da yapabilir misin? Örn hostname:1234?
Daniel Beck

Evet. ssh: // username @ hostname: port da çalışır.
Turadg

1

Quicksilver kullanıyorsanız, otomatik olarak bir ~ / .hosts dosyasını ya da otomatik olarak ~ / .ssh / known_hosts dosyasını tarayacak olan RemoteHosts adında harika bir eklenti vardır.

Yeni bir ana bilgisayara bağlanmak, Quicksilver (CMD-Space) uygulamasını açmak ve ardından ana bilgisayarın yeterli karakterlerini yazmak için benzersizdir ve son olarak enter tuşuna basın.


0

Sizin için berbat olan kısım uzun ve karmaşık bir ssh komutuyla yazıyorsa, ancak Terminal'i açmayı düşünmüyorsanız ve nedense önceki cevapların yaklaşımlarından herhangi birini kullanmak istemiyorsanız, o zaman da kullanabilirsiniz. takma adlar veya işlevler. Kabuk dotfile (.profile veya .bash_profile veya .bashrc veya .cshrc veya .zshrc veya her neyse) bu gibi bir şey ekleyin:

alias connect.dev='ssh -p 12345 yourusername@dev.somehost.net'

Diğer yaklaşımlara göre görebildiğim tek avantaj, (en azından zsh ve sanırım bash), bağlanmak için tüm sunucularınızı görmek için komut tamamlamayı kullanabilmenizdir. Örneğin, bağlandığınız 25 farklı sunucunuz olduğunu ve .ssh / config dosyasında verdiğiniz tüm adları / takma adları hatırlamak istemediğinizi varsayalım. Tüm takma adlar 'connect.' Gibi aynı şeyle başlarsa, komut isteminde connect [TAB] yazmanız yeterli olur ve olası tüm tamamlamaları görürsünüz. (Feragatname: Bu çalışmayı elde etmek için bazı kabuk özelleştirmeleri yapmanız gerekebilir, ancak varsayılan olarak zsh ve muhtemelen bash olarak da çalışacağına inanıyorum.)

Sizin için berbat olan kısım Terminal'i açıyorsa , o zaman DuckBill gibi bir şey kullanmayı deneyebilirsiniz , ancak Terminal'in ssh'ını çalıştırmayı düşünebilmemin tek nedeni X Windows sunucu programlarını veya ssh tünelini çalıştırmak olabilir.


0

Yerel bin dizininizde bir dosya oluşturabilirsiniz

/usr/local/bin/dev

Aşağıdaki içeriklerle:

#!/bin/bash
ssh -p 12345 username@www.mydomain.com 

Çalıştırılabilir yap

chmod a+x /usr/local/bin/dev

Hangisini kullanarak terminalden arayabilirsiniz

dev

Ve sonra açmak için bir otomatik görev oluştur

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

Ayrıca klavyenizdeki başlatıcı veya kısayol tuşundan kısayol da oluşturabilirsiniz.

Başlatıcı: Simgeyi otomatikleştiriciden kenetleme çubuğuna kaydedin

Klavye kısayolu:

create as service in automator
open system services -> keyboard -> shortcuts -> app shortcuts -> enter title of automator and key shortcut 
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.