Existe-t-il un moyen de spécifier, dans .ssh/config
, une commande comme:
ssh -t remote-host "screen -dR screen_name"
donc je peux facilement accéder à la screen
session à distance avec ssh remote-host
?
En ce moment, j'ai résolu ce problème en utilisant un script personnalisé:
$ cat ~/bin/sssh
#!/bin/sh
/usr/bin/ssh -t $1 "screen -dR ab"
~/bin
reste le premier $PATH
, mais il est inflexible et laid.
Je voudrais également trouver un moyen d'implémenter l'autocomplétion de l'hôte pour mon script personnalisé.
$1
par$@
. Ensuite, vous pouvez ajouter plus d'options, pas seulement le nom d'hôte. Pour terminer, essayez d'exécuter. /usr/share/bash-completion/completions/ssh
, puiscomplete -F _ssh sssh
Réponses:
Pour allouer le tty comme vous le feriez avec l'
-t
option, placezRequestTTY force
une entrée dans le fichier de configuration ssh (généralement dans~/.ssh/config
). Pour toujours exécuter une commande sur le serveur après vous être connecté, entrezRemoteCommand COMMAND
l'entrée, où seCOMMAND
trouve la commande que vous souhaitez exécuter lors de la connexion. Pour d'autres options, cochezman ssh_config
.la source
Utilise la force Luke!
RequestTTY force
dans votre~/.ssh/config
pour l'hôte souhaité.la source
Je dirais que c'est le moyen le plus flexible. Un script vous permet de définir des paramètres, d'ajouter des conditions, de modifier la commande selon vos besoins, le tout en fonction des entrées.
Il existe des moyens de "forcer" la commande
authorized_keys
. Mais je ne connais aucun moyen de forcer l'allocation tty sauf depuis la ligne de commande ou de forcer une commande sur le serveur distant à partir des fichiers de configuration côté local.Moi-même, j'ai un script qui analyse le fichier de configuration, vérifie le DNS avec différents domaines et définit la chaîne de titre de l'émulateur de terminal. Je l'appelle depuis l'écran sur mon système local ( Ctrl-a g).
la source
Remarque:
RemoteCommand
commence à travailler avec OpenSSH 7.6 . Dans la version précédente (c'est-à-dire Debian 9.9 actuelle), le client ssh cesserait de fonctionner correctement (au moins avecgit pull
).la source