Risposte:
La risposta più * NIX-y è utilizzare le funzionalità di SSH a proprio vantaggio.
Crea un file chiamato config
in ~/.ssh/
(una cartella nominata .ssh
nella tua cartella home). Aggiungi una voce per ogni computer a cui desideri connetterti, in questo modo:
Host compy
HostName 98.256.211.12
Port 90
User sidney
IdentityFile ~/.ssh/my_rsa_key
HostName
può essere un indirizzo IP o un nome host effettivo. Port
non è obbligatorio se si utilizza la porta SSH predefinita IdentityFile
non è obbligatorio se non si utilizza una chiave. ssh compy
Se usi l'autenticazione basata su chiave e memorizzi la password della chiave nel Portachiavi, non dovrai nemmeno inserire una password.
Inoltre, è possibile creare un file .command (un file di testo semplice con estensione .command) contenente la riga di comando utilizzata per connettersi al server ( ssh compy
o ssh -i ~/.ssh/my_rsa_key -p 90 sidney@98.256.211.12
). Si aprirà in Terminale ed eseguirà quel comando.
È inoltre possibile utilizzare la New Remote Connection…
voce di menu in Terminale per connettersi. Aggiungi il tuo host in SSH facendo clic sul +pulsante nella colonna di destra.
Leggi di più QUI
Hai un paio di opzioni a cui posso pensare:
Nel tuo editor di testo preferito crea salva un file di testo semplice con il tuo comando ssh, ad es.
ssh -p 23 admin@server.example.com
Assegna un nome al file WHATEVERYOUWANT.command
. È quindi necessario impostare il .command
file con i privilegi di esecuzione ( chmod 755 /PATH/TO/WHATEVERYOUWANT.command
) ma ora si dispone di un file che quando si fa doppio clic aprirà Terminal ed eseguirà quel comando.
Supponendo che tu stia usando bash (la shell predefinita in Mac OS X) puoi aggiungere alias .bashrc
nella tua cartella home.
per esempio. alias sshserver='ssh -p 23 admin@server.example.com'
Puoi trovare ulteriori informazioni sugli alias su [Wikipedia] ( http://en.wikipedia.org/wiki/Alias_(command) o leggendo la documentazione.
Ci sono molti modi per farlo. Ecco cosa faccio:
Apri le preferenze del terminale
Duplica il tuo profilo nella scheda Impostazioni con l'icona a forma di ingranaggio. Ciò modifica il file delle impostazioni predefinite, quindi ripristina il vecchio predefinito a quello che era prima della duplicazione.
Nelle nuove impostazioni personalizzate fare clic su Shell digitare il comando ssh nella sezione Esegui comando all'avvio.
Rinomina la tua nuova impostazione da Personalizzata come preferisci.
Ora puoi avviare la sessione dalle voci di menu Nuova finestra o Nuova scheda e, naturalmente, è possibile assegnare una scorciatoia da tastiera in Tastiera e mouse in Preferenze di Sistema.
Puoi creare un AppleScript che eseguirà un comando per te:
tell application "Terminal"
do script "ssh server.example.com"
end tell
Per aprire rapidamente una connessione ssh da quasi ovunque sul tuo Mac, procedi come segue:
ssh://user@host.com
*.inetloc
file.~/connections
che contiene tutti i miei
*.inetloc
file. Puoi rinominare questo file come preferisci e persino cambiarne l'icona.*.inetloc
file nel Dock, nella barra laterale del Finder o nella barra degli strumenti o in qualsiasi altro luogo. (Può anche essere selezionato con Spotlight)Per coloro che usano una chiave privata con il loro ssh e vogliono usare il metodo ~ / .ssh / config puoi aggiungere un attributo 'IdentityFile' al tuo host seguito dal percorso della chiave. Vale a dire:
Host SomeServer
User ubuntu
HostName someserver.com
IdentityFile ~/.ssh/private.key
Avrei aggiunto questo bit come commento a una delle risposte, ma la mia reputazione è ancora bassa e non mi è permesso farlo.
Se vuoi un file che puoi aprire per avviare una sessione, puoi creare facilmente un .inetloc. In TextEdit digitare un URL SSH per l'host, ad esempio:
ssh://username@hostname/path
TextEdit lo riconoscerà come un URL. Trascina l'URL sul desktop e creerà un .inetloc in questo modo:
<?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>
Puoi quindi posizionare quel file ovunque, come il tuo Dock, o aprirlo con un launcher come Quicksilver.
Avrei raccomandato il plugin SSH per Quicksilver, ma l'ultimo che posso trovare, v.84, arresta in modo anomalo QS più recente di β54 (3815).
hostname:1234
?
Se stai usando Quicksilver, c'è un ottimo componente aggiuntivo chiamato RemoteHosts che scansionerà automaticamente un file ~ / .hosts o anche il tuo file ~ / .ssh / known_hosts per eseguire automaticamente il pop-up.
La connessione a un nuovo host è rapida come l'apertura di Quicksilver (CMD-Space) e la digitazione di un numero sufficiente di caratteri dell'host per essere univoci e infine premere Invio.
Se la parte che fa schifo per te sta digitando un comando ssh lungo e complesso, ma non ti dispiace aprire Terminal, e per qualche motivo non vuoi usare nessuno degli approcci delle risposte precedenti, allora puoi anche usare alias o funzioni. Aggiungi qualcosa del genere a shell dotfile (.profile o .bash_profile o .bashrc o .cshrc o .zshrc o altro):
alias connect.dev='ssh -p 12345 yourusername@dev.somehost.net'
L'unico vantaggio che posso vedere rispetto ad altri approcci è che (almeno in zsh, e penso bash) è possibile utilizzare il completamento del comando per vedere tutti i server a cui connettersi. Ad esempio, supponiamo che tu abbia 25 server diversi a cui ti connetti e non vuoi ricordare tutti i nomi / alias che hai dato loro nel file .ssh / config. Se tutti gli alias iniziano con la stessa cosa, come "connetti", allora digita connect. [TAB] al prompt dei comandi e vedrai tutti i possibili completamenti. (Dichiarazione di non responsabilità: potrebbe essere necessario personalizzare la shell per farlo funzionare, ma credo che funzionerà di default in zsh e probabilmente anche in bash.)
Se la parte che fa schifo per te sta aprendo Terminal, allora potresti provare a usare qualcosa come DuckBill , anche se le uniche ragioni che posso pensare di eseguire ssh OUTSIDE of Terminal potrebbero essere per l'esecuzione di programmi server X Windows o un tunnel ssh.
È possibile creare un file nella directory bin locale
/usr/local/bin/dev
Con i seguenti contenuti:
#!/bin/bash
ssh -p 12345 username@www.mydomain.com
Renderlo eseguibile
chmod a+x /usr/local/bin/dev
Che poi puoi chiamare dal terminale usando
dev
E poi crei un'attività di automazione per aprirla
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
Puoi anche creare una scorciatoia dal pulsante di avvio o dal tasto di scelta rapida sulla tastiera
Launcher: trascina l'icona dal salvataggio automatico nella dockbar
Scorciatoia da tastiera:
create as service in automator
open system services -> keyboard -> shortcuts -> app shortcuts -> enter title of automator and key shortcut