Bagaimana cara membuat koneksi ssh Shortcut terminal pada Mac OS X?

27

Menyebalkan untuk membuka Terminal setiap kali dan menulis perintah SSH lengkap. Bagaimana saya bisa membuat pintasan Terminal koneksi SSH pada Mac OS X 10.6.8 (Snow Leopard)?

Saya juga punya port khusus untuk dihubungkan.

misha
sumber

Jawaban:

80

Jawaban * NIX-y yang paling banyak adalah menggunakan fitur SSH untuk keuntungan Anda.

Buat sebuah file bernama configdalam ~/.ssh/(folder bernama .sshdalam folder rumah Anda). Tambahkan entri untuk setiap komputer yang ingin Anda sambungkan, seperti ini:

Host compy
    HostName 98.256.211.12
    Port 90
    User sidney
    IdentityFile ~/.ssh/my_rsa_key
  • HostName dapat berupa alamat IP atau nama host yang sebenarnya.
  • Port tidak wajib jika menggunakan port SSH default
  • IdentityFiletidak wajib jika tidak menggunakan kunci.

    Lalu, untuk terhubung, cukup ketik

ssh compy

Jika Anda menggunakan otentikasi berbasis kunci dan menyimpan kata sandi kunci Anda di Keychain, Anda bahkan tidak perlu memasukkan kata sandi.

Selain itu, Anda dapat membuat file .command (file teks biasa dengan ekstensi .command) yang berisi baris perintah yang Anda gunakan untuk menghubungkan ke server ( ssh compyatau ssh -i ~/.ssh/my_rsa_key -p 90 [email protected]). Ini akan terbuka di Terminal dan menjalankan perintah itu.

Anda juga dapat menggunakan New Remote Connection…item menu di Terminal untuk menghubungkan. Cukup tambahkan host Anda di bawah SSH dengan mengklik +tombol di kolom kanan.

Baca lebih lanjut DI SINI

s4y
sumber
Saya menggunakan ini dalam kombinasi dengan menambahkan kunci ssh saya ke server. Anda dapat menekan kunci publik Anda seperti ini 'ssh-copy-id -i .ssh / id_rsa.pub nama pengguna: kata sandi @ remotehost'
jspooner
10

Anda memiliki beberapa opsi yang dapat saya pikirkan:

Buat file .command

Di editor teks favorit Anda, buat menyimpan file teks biasa dengan perintah ssh Anda, mis.

ssh -p 23 [email protected]

Beri nama filenya WHATEVERYOUWANT.command. Anda kemudian perlu mengatur .commandfile dengan mengeksekusi privilege ( chmod 755 /PATH/TO/WHATEVERYOUWANT.command) tetapi Anda sekarang memiliki file yang ketika diklik ganda akan membuka Terminal dan menjalankan perintah itu.

Buat alias untuk shell Anda

Dengan asumsi Anda menggunakan bash (shell default di Mac OS X) Anda dapat menambahkan alias ke .bashrcfolder home Anda.

misalnya. alias sshserver='ssh -p 23 [email protected]'

Anda dapat menemukan lebih lanjut tentang alias di [Wikipedia] ( http://en.wikipedia.org/wiki/Alias_(command) atau dengan membaca dokumentasi.

Chealion
sumber
5

Ada banyak cara untuk melakukan ini. Inilah yang saya lakukan:

Buka Preferensi Terminal

Gandakan profil Anda pada tab Pengaturan dengan ikon roda gigi. Ini mengubah file pengaturan default Anda, jadi ubah kembali default lama Anda menjadi seperti sebelum duplikasi.

Di pengaturan kustom baru Anda klik pada jenis Shell di perintah ssh Anda di bagian Run Command at Startup.

Ubah nama pengaturan baru Anda dari Kustom ke apa pun yang Anda inginkan.

Anda sekarang dapat memulai sesi Anda dari item menu New Window atau Tab Baru, dan tentu saja pintasan keyboard dapat ditetapkan di Keyboard & Mouse di System Preferences.

ridogi
sumber
3

Anda dapat membuat AppleScript yang akan menjalankan perintah untuk Anda:

tell application "Terminal"
    do script "ssh server.example.com"
end tell
Stephen Jennings
sumber
3

Untuk dengan cepat membuka koneksi ssh dari hampir di mana saja di Mac Anda, lakukan hal berikut:

  • Buka TextEdit dan ketikkan string koneksi Anda dalam bentuk: ssh://[email protected]
  • Pilih seluruh baris dan seret dan letakkan di Desktop. Hasilnya akan berupa *.inetlocfile.
  • Pindahkan file ke folder apa pun yang Anda suka. Saya membuat satu nama ~/connectionsyang menampung semua *.inetlocfile saya . Anda dapat mengubah nama file ini menjadi apa pun yang Anda suka, dan bahkan mengubah ikonnya.
  • Sekarang Anda dapat menarik dan melepas *.inetlocfile ke Dock, Bilah Sisi Pencari atau Bilah Alat, atau ke tempat lain. (Itu bahkan dapat dipilih dengan Spotlight)
  • Jika Anda menggunakan LaunchBar, buka layar Konfigurasi Launchbar (Command-Y) dan tambahkan aturan lain untuk folder koneksi Anda. Sekarang koneksi SSH Anda dapat dibuka dengan LaunchBar. Saya yakin Anda dapat melakukan hal yang sama dengan LaunchBar dan Quicksilver, memungkinkan peluncuran cepat pintasan SSH Anda.

Buat pintasan ssh akses cepat

Antonio
sumber
1
Ini tentu cara yang bagus dan cepat untuk membuka terminal pada host jarak jauh!
cmroanirgo
3

Bagi mereka yang menggunakan kunci pribadi dengan ssh mereka dan ingin menggunakan metode ~ / .ssh / config Anda dapat menambahkan atribut 'IdentityFile' ke host Anda diikuti dengan jalur kunci. Yaitu:

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

Saya akan menambahkan bit ini sebagai komentar pada salah satu jawaban, tetapi reputasi saya masih rendah dan saya tidak diizinkan untuk melakukannya.

Tarek Koudsi
sumber
2

Jika Anda menginginkan file yang dapat Anda buka untuk meluncurkan sesi, Anda dapat membuat .inetloc dengan mudah. Di TextEdit ketik URL SSH ke host Anda, misalnya:

ssh://username@hostname/path

TextEdit akan mengenali itu sebagai URL. Seret URL ke desktop Anda dan itu akan membuat .inetloc seperti:

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

Anda kemudian dapat menempatkan file itu di mana saja, seperti Dock Anda, atau membukanya dengan peluncur seperti Quicksilver.

Saya akan merekomendasikan Plugin SSH untuk Quicksilver, tetapi yang terbaru yang dapat saya temukan, v.84, crash QS lebih baru dari β54 (3815).

Turadg
sumber
Bisakah Anda melakukannya dengan port? Misalnya hostname:1234?
Daniel Beck
Iya nih. ssh: // username @ hostname: port juga berfungsi.
Turadg
1

Jika Anda menggunakan Quicksilver, ada add-on yang bagus bernama RemoteHosts yang secara otomatis akan memindai file ~ / .hosts atau bahkan file ~ / .ssh / known_hosts Anda untuk mengisi secara otomatis.

Menghubungkan ke host baru secepat membuka Quicksilver (CMD-Space) dan kemudian mengetikkan karakter host yang cukup untuk menjadi unik, dan akhirnya menekan enter.

ticklemeozmo
sumber
0

Jika bagian yang menyebalkan untuk Anda adalah mengetikkan perintah ssh yang panjang dan kompleks, tetapi Anda tidak keberatan membuka Terminal, dan untuk beberapa alasan Anda tidak ingin menggunakan pendekatan jawaban sebelumnya, maka Anda juga dapat menggunakan alias atau fungsi. Tambahkan sesuatu seperti ini ke shell dotfile (.profile atau .bash_profile atau .bashrc atau .cshrc atau .zshrc atau apa pun):

alias connect.dev='ssh -p 12345 [email protected]'

Satu-satunya keuntungan yang saya dapat lihat dari pendekatan lain adalah bahwa (setidaknya di zsh, dan saya pikir bash) Anda dapat menggunakan penyelesaian perintah untuk melihat semua server Anda terhubung. Sebagai contoh, katakanlah Anda memiliki 25 server berbeda yang terhubung, dan Anda tidak ingin mengingat semua nama / alias yang Anda berikan di file .ssh / config. Jika semua alias dimulai dengan hal yang sama, seperti 'sambung.', Maka Anda cukup ketik sambungkan. [TAB] pada prompt perintah, dan Anda akan melihat semua kemungkinan penyelesaian. (Penafian: Anda mungkin perlu melakukan beberapa kustomisasi shell untuk membuatnya berfungsi, tapi saya yakin ini akan berfungsi secara default di zsh dan mungkin juga di bash.)

Jika bagian yang menyebalkan untuk Anda adalah membuka Terminal, maka Anda dapat mencoba menggunakan sesuatu seperti DuckBill , meskipun satu-satunya alasan saya dapat memikirkan untuk menjalankan ssh DI LUAR Terminal mungkin untuk menjalankan program server X Windows atau terowongan ssh.

iconoclast
sumber
0

Anda dapat membuat file di direktori tempat sampah lokal Anda

/usr/local/bin/dev

Dengan konten berikut:

#!/bin/bash
ssh -p 12345 [email protected] 

Jadikan itu dapat dieksekusi

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

Yang kemudian Anda dapat menelepon dari terminal menggunakan

dev

Dan Anda kemudian membuat tugas automator untuk membukanya

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

Anda juga dapat membuat pintasan dari launcher atau hotkey di keyboard Anda

Peluncur: Seret ikon dari automator save ke dockbar

Pintasan keyboard:

create as service in automator
open system services -> keyboard -> shortcuts -> app shortcuts -> enter title of automator and key shortcut 
jason
sumber