Comment puis-je enregistrer des signets SSH dans Terminal?

17

Je suis récemment tombé amoureux de TotalTerminal et je suis tenté de revenir de iTerm à 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 enregistrer les signets SSH dans le terminal OSX? (ou un moyen d'utiliser iTerm comme la visière rapide de TotalTerminal

jb510
la source

Réponses:

24

Il existe plusieurs façons de créer des signets de commande 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 à distance.

Aller à:

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), puis personnalisez la commande:

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

Entrez la commande ssh souhaitée ici.

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

Exécution de plusieurs commandes à la fois avec des groupes de fenêtres

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

Fenêtre> Enregistrer les fenêtres en tant que groupe…

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

Terminal> Préférences> Démarrage

Améliorations de Mac OS X Lion 10.7

Dans Mac OS X Lion 10.7, cela devient plus simple: vous pouvez dire à Terminal de se souvenir des commandes pour chaque fenêtre sans créer de profil personnalisé pour chacune.

Si vous utilisez les commandes Shell> Nouvelle commande ou 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 (réexécutera) automatiquement les commandes "sûres" et il y a une case à cocher pour lui dire de restaurer toutes les commandes. Les commandes "sûres" incluent tout ce qui est exécuté à partir de la boîte de dialogue Nouvelle connexion à distance , tout shell répertorié dans / etc / shells, plus emacs, vi / vim, pico, nano, screen, tmux et top.

Fichiers de commandes

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

Certaines personnes les utilisent comme signets ssh. Pour faciliter leur exécution, vous pouvez les placer dans le Dock ou une collection d'entre eux dans un dossier du Dock.

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

Mappages de touches de fonction

Vous pouvez affecter des chaînes arbitraires aux touches de fonction dans

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

Vous pouvez l'utiliser pour saisir facilement des informations telles que les noms d'hôte ou des commandes ssh entières, y compris un saut de ligne, donc la saisie d'une seule clé démarrera la connexion. Vous pouvez également commencer la chaîne par un Control-C pour supprimer l'entrée de ligne de commande actuelle si nécessaire, ce qui rend plus sûr la saisie de la clé sans entremêler le nouveau texte avec l'ancien.

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

Chris Page
la source
27

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

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

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

~/.ssh/config

Au lieu de faire:

ssh admin@mywebsite.com

Vous pouvez taper:

ssh mw

Si vous avez ajouté ce qui suit à 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. Un peu plus sûr que de stocker des mots de passe et plus rapide que de le taper.

Pour plus d'informations sur la configuration SSH, procédez comme suit:

man ssh_config
Grogs
la source
6

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 remplacer une chaîne par un mot lorsqu'il est utilisé comme premier mot d'une commande simple

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

$ alias myserver="ssh [email protected]"

Maintenant, exécutez simplement myserverdans le terminal lorsque vous souhaitez vous connecter à votre serveur.

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

$ source ~/.bash_profile

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

Lars Wiegman
la source
2

Ouvrez simplement l'application du terminal, puis tapez Commande + Maj + K à partir de l'application. Cela ouvrira une fenêtre qui vous permettra d'enregistrer les connexions. (Au moins dans OSX 10.9 Mavericks)

magikMaker
la source
1

Je cherchais un moyen de mettre en signet les commandes SSH et j'ai finalement développé une application Mac pour notre équipe, appelée TaskTips ( https://task.tips/ ). Fondamentalement, il peut vous faire gagner du temps en indexant vos commandes SSH et en complétant automatiquement lorsque vous recherchez des tâches SSH, en exécutant des tâches automatiquement.

S'il est également utile pour quelqu'un d'autre, j'en serais très heureux.

Jiakuan W
la source
0

Vous pouvez dupliquer des profils, leur donner le nom de votre choix et enregistrer la connexion.

DanAllen
la source