web-dev-qa-db-fra.com

Comment créer une connexion ssh Raccourci Terminal sous Mac OS X?

Il est difficile d’ouvrir un terminal à chaque fois et d’écrire une commande SSH complète. Comment créer une connexion SSH Raccourci terminal sous Mac OS X 10.6.8 (Snow Leopard)?

J'ai aussi un port personnalisé pour me connecter.

26
misha

La réponse la plus * NIX-y consiste à utiliser les fonctionnalités de SSH à votre avantage.

Créez un fichier nommé config dans ~/.ssh/ (un dossier nommé .ssh dans votre dossier personnel). Ajoutez une entrée pour chaque ordinateur auquel vous souhaitez vous connecter, comme ceci:

Host compy
    HostName 98.256.211.12
    Port 90
    User sidney
    IdentityFile ~/.ssh/my_rsa_key
  • HostName peut être une adresse IP ou un nom d'hôte réel.
  • Port n'est pas obligatoire si vous utilisez le port SSH par défaut
  • IdentityFile n'est pas obligatoire si vous n'utilisez pas de clé.

    Ensuite, pour vous connecter, tapez simplement

ssh compy

Si vous utilisez l'authentification par clé et que vous stockez le mot de passe de votre clé dans le trousseau, vous n'aurez même pas besoin de saisir de mot de passe.

En outre, vous pouvez créer un fichier .command (un fichier de texte en clair portant l’extension .command) contenant la ligne de commande à utiliser pour se connecter au serveur (ssh compy ou ssh -i ~/.ssh/my_rsa_key -p 90 [email protected]). Il s'ouvrira dans Terminal et exécutera cette commande.

Vous pouvez également utiliser l'élément de menu New Remote Connection… dans Terminal pour vous connecter. Ajoutez simplement votre hôte sous SSH en cliquant sur le bouton + bouton dans la colonne de droite.

En savoir plus HERE

78
s4y

Vous avez plusieurs options auxquelles je peux penser:

Créer un fichier .command

Dans votre éditeur de texte favori, créez un fichier texte brut avec votre commande ssh, par exemple.

ssh -p 23 [email protected]

Nommez le fichier WHATEVERYOUWANT.command. Vous devez ensuite définir le fichier .command avec les privilèges d'exécution (chmod 755 /PATH/TO/WHATEVERYOUWANT.command), mais vous disposez maintenant d'un fichier qui, lorsque vous double-cliquez dessus, ouvrira Terminal et exécutera cette commande.

Créez des alias pour votre shell

En supposant que vous utilisiez bash (le shell par défaut sous Mac OS X), vous pouvez ajouter des alias à votre .bashrc dans votre dossier personnel.

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

Vous pouvez trouver plus d'informations sur les alias sur [Wikipedia] ( http://en.wikipedia.org/wiki/Alias_ (commande) ou en lisant la documentation. .

10
Chealion

Il y a plusieurs façons de le faire. Voici ce que je fais:

Ouvrir les préférences du terminal

Dupliquez votre profil sur l'onglet Paramètres avec l'icône représentant une roue dentée. Cela modifie votre fichier de paramètres par défaut. Vous devez donc rétablir votre ancien paramètre par défaut tel qu’il était avant la duplication.

Dans vos nouveaux paramètres personnalisés, cliquez sur Type de shell dans votre commande ssh dans la section Exécuter la commande au démarrage.

Renommez votre nouveau paramètre de Personnalisé à votre choix.

Vous pouvez maintenant démarrer votre session à partir des éléments de menu Nouvelle fenêtre ou Nouvel onglet. Un raccourci clavier peut bien sûr être attribué dans Clavier et souris dans les Préférences Système.

5
ridogi

Pour ceux qui utilisent une clé privée avec leur ssh et souhaitent utiliser la méthode ~/.ssh/config, vous pouvez ajouter un attribut 'IdentityFile' à votre hôte suivi du chemin d'accès à la clé. C'est à dire:

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

J'aurais ajouté ce passage comme commentaire à l'une des réponses, mais ma réputation est toujours basse et je ne suis pas autorisé à le faire.

3
Tarek Koudsi

Pour ouvrir rapidement une connexion ssh de presque n'importe où sur votre Mac, procédez comme suit:

  • Ouvrez TextEdit et tapez votre chaîne de connexion sous la forme: ssh://[email protected]
  • Sélectionnez la ligne entière et faites-la glisser sur le bureau. Le résultat sera un fichier *.inetloc.
  • Déplacez le fichier dans le dossier de votre choix. J'ai créé un nom nommé ~/connections qui contient tous mes fichiers *.inetloc. Vous pouvez renommer ce fichier comme bon vous semble, et même changer son icône.
  • Maintenant, vous pouvez faire glisser le fichier *.inetloc dans le Dock, la barre latérale ou la barre d'outils du Finder, ou ailleurs. (Il peut même être sélectionné avec Spotlight)
  • Si vous utilisez la barre de lancement, ouvrez l'écran de configuration de la barre de lancement (Commande-Y) et ajoutez une autre règle pour votre dossier de connexions. Maintenant, vos connexions SSH peuvent être ouvertes avec LaunchBar. Je pense que vous pouvez faire la même chose avec LaunchBar et Quicksilver, permettant un lancement rapide de vos raccourcis SSH.

Créez des raccourcis SSH à accès rapide

3
Antonio

Vous pouvez créer un AppleScript qui exécutera une commande pour vous:

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

Si vous voulez un fichier que vous pouvez ouvrir pour lancer une session, vous pouvez facilement créer un fichier .inetloc. Dans TextEdit, tapez une URL SSH vers votre hôte, par exemple:

ssh://username@hostname/path

TextEdit le reconnaîtra comme une URL. Faites glisser l'URL sur votre bureau pour créer un fichier .inetloc comme suit:

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

Vous pouvez ensuite placer ce fichier n’importe où, comme dans votre Dock, ou l’ouvrir avec un lanceur tel que Quicksilver.

J'aurais recommandé le plug-in SSH pour Quicksilver, mais la version la plus récente que je trouve, v.84, provoque le blocage de QS plus récent que celui de β54 (3815).

2
Turadg

Si vous utilisez Quicksilver, il existe un excellent complément appelé RemoteHosts qui analysera automatiquement un fichier ~/.hosts ou même votre fichier ~/.ssh/known_hosts pour le remplir automatiquement.

La connexion à un nouvel hôte est aussi rapide que d’ouvrir Quicksilver (CMD-Space), puis de saisir suffisamment de caractères de l’hôte pour qu’il soit unique, puis d’appuyer sur Entrée.

1
ticklemeozmo

Vous pouvez créer un fichier dans votre répertoire bin local

/usr/local/bin/dev

Avec le contenu suivant:

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

Le rendre exécutable

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

Ce qui vous permet d’appeler depuis le terminal en utilisant

dev

Et vous créez ensuite une tâche automate pour l'ouvrir

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

Vous pouvez également créer un raccourci à partir du lanceur ou des raccourcis clavier

Lanceur: faites glisser l'icône de la sauvegarde de l'automate dans la barre des tâches

Raccourci clavier:

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

Si la partie qui craint pour vous est de taper une commande ssh longue et complexe, mais que cela ne vous gêne pas d'ouvrir Terminal et que, pour une raison quelconque, vous ne souhaitez pas utiliser les approches des réponses précédentes, vous pouvez également utiliser alias ou fonctions. Ajoutez quelque chose comme ceci dans le fichier de données Shell (.profile ou .bash_profile ou .bashrc ou .cshrc ou .zshrc ou autre):

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

Le seul avantage que je peux voir par rapport aux autres approches est que (en zsh au moins, et je pense que bash), vous pouvez utiliser la complétion de commande pour voir tous vos serveurs auxquels vous connecter. Par exemple, supposons que vous vous connectiez à 25 serveurs différents et que vous ne vouliez pas vous souvenir de tous les noms/alias que vous leur avez donnés dans le fichier .ssh/config. Si tous les alias commencent par la même chose, comme 'connect.', Vous tapez simplement connect. [TAB] à l'invite de commande, et vous verrez toutes les complétions possibles. (Avertissement: vous devrez peut-être personnaliser le shell pour que cela fonctionne, mais je pense que cela fonctionnera par défaut dans zsh et probablement aussi en bash.)

Si la partie qui craint pour vous est d’ouvrir Terminal, alors vous pouvez essayer d’utiliser quelque chose comme DuckBill , bien que je puisse penser uniquement à exécuter ssh OUTSIDE. de Terminal peut-être pour exécuter des programmes serveur X Windows ou un tunnel ssh.

0
iconoclast