22 votes

Comment puis-je sauvegarder les signets SSH dans le Terminal ?

Je me suis récemment entiché de TotalTerminal et je suis tenté de passer de iTerm de revenir à Terminal juste pour pouvoir l'utiliser, sauf que je compte beaucoup sur une demi-douzaine de signets SSH dans iTerm.

Existe-t-il un moyen, ou une extension, pour sauvegarder les signets SSH dans le Terminal d'OSX ? (ou un moyen d'utiliser iTerm comme la visière rapide de TotalTerminal).

32voto

Grogs Points 411

Je ne suis pas sûr de ce que sont les signets SSH, mais le fichier de configuration SSH pourrait vous être utile. Je le préconiserais plutôt que l'approche par alias.

Cette option fonctionnera dans tous les émulateurs de terminal, et tous les shells (par exemple zsh au lieu de bash), et même les autres applications qui utilisent SSH (par exemple rsync, scp, git). De plus, si vous synchronisez vos dotfiles (par exemple via un dépôt github), vos signets/alias peuvent être partagés entre plusieurs machines.

Vous pouvez stocker les paramètres spécifiques à l'hôte (et les alias) dans :

~/.ssh/config

Au lieu de faire :

ssh admin@mywebsite.com

Vous pourriez taper :

ssh mw

Si vous avez ajouté les éléments suivants à votre configuration SSH :

Host mw
Hostname mywebsite.com
User admin

Vous pouvez également configurer SSH sans mot de passe et ajouter l'emplacement de votre fichier d'identification ici. C'est un peu plus sûr que de stocker les mots de passe, et plus rapide que de les taper.

Pour plus d'informations sur la configuration SSH :

man ssh_config

25voto

Chris Page Points 7394

Il existe plusieurs façons de créer des signets pour les commandes ssh.

Profils de paramètres avec commandes personnalisées

Vous pouvez créer de nouveaux profils de paramètres, chacun avec une commande ssh différente. Les profils servent à la fois de "thèmes" d'apparence et de "signets" pour les commandes et les connexions distantes.

Allez-y :

Terminal > Préférences > Paramètres

Ensuite, créez un nouveau profil ou dupliquez un profil existant (il y a une commande Dupliquer dans le menu d'action au bas de la liste des profils) et personnalisez ensuite la commande :

Terminal > Préférences > Profils > [profil] > Shell > Exécuter la commande

Saisissez-y la commande ssh souhaitée.

Les profils apparaissent dans la Shell > Nouvelle fenêtre y Nouvel onglet sous-menus. Choisissez-en un pour créer un nouveau terminal et exécuter la commande associée.

Exécuter plusieurs commandes à la fois avec les groupes de fenêtres

Si vous souhaitez créer automatiquement plusieurs terminaux à la fois (qui exécuteront également les commandes de leur profil), vous pouvez créer un ensemble de fenêtres/onglets de terminal en utilisant chaque profil, puis les enregistrer en tant que groupe de fenêtres avec :

Fenêtre > Enregistrer les fenêtres comme groupe

Lorsque vous ouvrirez le groupe de fenêtres, il restaurera toutes les fenêtres/onglets et exécutera les commandes associées à chaque profil. Vous pouvez même indiquer à Terminal d'ouvrir un groupe de fenêtres particulier à chaque démarrage de Terminal :

Terminal > Préférences > Démarrage

Améliorations dans Mac OS X Lion 10.7

Dans Mac OS X Lion 10.7, les choses sont plus simples : vous pouvez demander à Terminal de se souvenir des commandes pour chaque Windows sans avoir à créer un profil personnalisé pour chacun d'eux.

Si vous utilisez le Shell > Nouvelle commande o Nouvelle connexion à distance pour créer des terminaux, la commande est enregistrée avec la fenêtre/l'onglet. Si vous les enregistrez dans un groupe de fenêtres, il restaurera automatiquement (réexécute) les commandes "sûres", et il y a une case à cocher pour lui demander de restaurer toutes les commandes. Les commandes "sûres" comprennent tout ce qui est exécuté à partir de l'icône Nouvelle connexion à distance n'importe quel shell listé dans /etc/shells, plus emacs, vi/vim, pico, nano, screen, tmux et top.

Fichiers de commande

Vous pouvez enregistrer des commandes de l'interpréteur de commandes (ou, en fait, des scripts entiers de l'interpréteur de commandes) dans un fichier avec l'extension de nom de fichier ".command", et si vous ouvrez un de ces fichiers, Terminal ouvrira une nouvelle fenêtre de terminal et dira à l'interpréteur de commandes d'exécuter les commandes du fichier.

Certaines personnes les utilisent comme signets ssh. Pour faciliter leur exécution, vous pouvez les placer dans le Dock, ou une collection de ceux-ci dans un dossier du Dock.

Après avoir créé un fichier ".command", rendez-le exécutable avec chmod +x /path/to/file.command .

Correspondances entre les fonctions et les clés

Vous pouvez attribuer des chaînes de caractères arbitraires aux touches de fonction de l'application

Terminal > Préférences > Profils > [profil] > Clavier

Vous pouvez l'utiliser pour saisir facilement des informations telles que des noms d'hôtes, ou des commandes ssh entières incluant un saut de ligne, de sorte que la saisie d'une seule clé lance la connexion. Vous pouvez également commencer la chaîne par un Control-C afin d'ignorer la ligne de commande en cours si nécessaire, ce qui vous permet de taper la clé sans mélanger le nouveau texte avec l'ancien.

En combinaison avec les touches de modification, cela offre des dizaines de touches de fonction personnalisées que vous pouvez utiliser pour des extraits ou des commandes arbitraires.

7voto

Snailer Points 1451

Je ne sais pas comment les signets SSH fonctionnent dans iTerm mais vous pouvez créer un alias dans votre shell pour accomplir la même chose :

Les alias permettent de substituer une chaîne de caractères à un mot lorsqu'elle est utilisée comme premier mot d'une commande simple.

Pour définir un alias dans le terminal, utilisez la syntaxe suivante :

$ alias myserver="ssh user@example.com"

Maintenant, il suffit d'exécuter myserver dans le Terminal lorsque vous voulez vous connecter à votre serveur.

Pour rendre l'alias permanent, vous devez ajouter l'alias à votre login script et recharger votre login script pour que les changements prennent effet. Si vous utilisez le shell par défaut, bash :

$ source ~/.bash_profile

En savoir plus sur les pseudonymes : http://ss64.com/bash/alias.html

4voto

magikMaker Points 131

Il suffit d'ouvrir l'application Terminal, puis de taper Commande + Maj + K dans l'application. Cela ouvrira une fenêtre qui vous permettra d'enregistrer les connexions. (Au moins dans OSX 10.9 Mavericks)

1voto

Dave Mateer Points 2349

J'ai cherché un moyen d'ajouter des commandes SSH à mes favoris et j'ai fini par développer une application Mac pour notre équipe, appelée TaskTips ( https://task.tips/ ). En gros, il peut vous faire gagner du temps en indexant vos commandes SSH, et en effectuant une autocomplétion lorsque vous recherchez des tâches SSH, en exécutant les tâches automatiquement.

Si cela peut également être utile à quelqu'un d'autre, j'en serai très heureux.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X