Pour accéder à ma machine dans mon bureau, je suis en train de faire ceci:
me@home:~$ ssh unix.university.com
me@unix:~$ ssh unix.department.univeristy.com
[email protected]:~$ ssh office-machine.department.university.com
me@office-machine:~$ echo "This is very annoying"
Existe-t-il un moyen simple d'automatiser ce processus, peut-être une seule commande que je peux utiliser à ma fin?
ssh
multiple-machines
Lucas
la source
la source
Réponses:
Vous pouvez utiliser le client ssh pour exécuter ssh sur la machine distante lors de la connexion.
(La raison pour laquelle j'ai inclus
-t
les invocations est parce que ssh m'avait donné des erreurs re: stdin n'étant pas un terminal lorsque je l'ai essayé sur ma propre machine, votre machine peut être différente.)Lorsque vous quittez le dernier shell, le processus s'enchaîne, ce qui vous évite de taper Ctrl-Dencore et encore.
la source
tar cf - something | ssh somewhere "cd /path/remote ; tar xf - "
pourrait devenir corrompu si vous ajoutez-t
! Voir par exemple la merveilleuse réponse de StephaneChazelas unix.stackexchange.com/questions/151916/ … )-J
option. Je pense que vous pourriez le faire avec plusieursProxyCommand
options dans votre configuration.-J
vous pouvez spécifier une liste de sauts séparés par des virgules. Mais utiliserProxyCommand
avec-W
reste une approche bien meilleure que cette réponse si vous utilisez une version trop ancienne pour être prise en charge-J
.Oui, il existe un excellent moyen de le faire en utilisant ssh ProxyCommand et netcat
Mettez quelque chose comme ça dans votre .ssh / config
Cela se connectera directement à n’importe quel serveur .department.university.com en utilisant l’hôte de saut / bastion unix.university.com. Vous pouvez également avoir besoin d’une strophe pour unix.university.com directement.
Voici un lien expliquant comment cela fonctionne: http://backdrift.org/transparent-proxy-with-ssh
Avec cette technique, vous pouvez maintenant écrire
et tout semblera direct. Des outils tels que rsync, scp, etc. (tout ce qui se trouve dans la pile ssh) fonctionneront également de manière transparente.
la source
-W
option, vous pouvez faire quelque chose commeProxyCommand ssh -W %h:%p gateway
au lieu de dépendre de ncProxyCommand ssh -W %h:%p user@gateway
Dans OpenSSH 7.3, ssh a ajouté le
-J
drapeau de ligne de commande et l'ProxyJump
option de configuration correspondante pour résoudre exactement ce problème.Indiquez aux hôtes que vous souhaitez parcourir en tant que liste séparée par des virgules
-J
. Par exemple:la source
Tunneling SSH. Je ne me souviens pas exactement comment faire cela, mais je sais qu'il existe un moyen de faire en sorte qu'une machine permette un tunnel en se connectant peut-être à un port séparé. De cette façon, vous ne ferez que shell sur la même machine initiale (avec un port différent, par exemple) et vous serez redirigé vers votre emplacement final.
Devrait chercher comment le configurer si.
:)
la source