J'utilise Ccygwin sur WinXP (avec le shell bash). Je veux SCP un fichier de mon hôte local vers une machine distante - host2. Cependant, je ne peux que SSH vers une machine intermédiaire - host1, puis à partir de là SSH vers host2. (Remarque, je ne peux pas accéder à host2 depuis mon hôte local).
Je pensais que la tunnellisation était ma réponse, mais quand j'essaie de créer un tunnel
ssh -L 9999:localhost:9998 dalvarado@host1 'ssh -L 9998:localhost:1234 -N dalvarado@host2'
Mais après avoir tapé cette commande et appuyé sur Entrée, le système se bloque simplement. Quelle est la bonne façon de configurer un tunnel puis de SCP un fichier après?
Merci, -
ssh
scp
ssh-tunnel
Dave
la source
la source
Réponses:
Cela a déjà été mieux répondu ici .
Pour résumer: mettez ce qui suit dans
~/.ssh/config
et ensuite simplement
scp
à target.machine à tout moment que vous souhaitez proxy via proxy.machine!Fonctionne également pour
ssh
, vous économiserez ainsi du temps sur la machine cible.Nous remercions user24925 qui a répondu à cette question en 2011.
la source
Pour configurer un tunnel SSH, utilisez le format suivant:
Cette commande se connecte au port
host1
asuser
et tunnels 9999 sur l'ordinateur émettant la commande au port 22host2
.-N
est facultatif, ou vous pouvez utiliser quelque chose commetop
ouwatch
pour maintenir la session active si nécessaire.Ensuite, il suffit
scp
d'héberger2 sur localhost: 9999.la source
scp
syntaxe de votre commande est cependant incorrecte. Essayez ceciscp -P 9999 hello.txt user@localhost:/path/to/destination/file
où seuser
trouve l'utilisateur surhost2
lequel vous souhaitez vous connecter.Depuis OpenSSH 7.3 , vous pouvez utiliser
-J
ou-o ProxyJump
pour spécifier l'hôte bastion / jump. Par conséquent, vers SSHnode2
vianode1
:SCP n'a pas d'
-J
argument, mais il le permet-o
, donc cela fonctionne:la source
Vous pouvez d'abord scper le fichier vers host1, comme ceci:
Ensuite, faites-le pour l'héberger sur host2:
L'
-t
option qui l'ssh
oblige à allouer un pseudo-terminal, ce qui peut faciliter la tâche de l'scp
hôte1 pour vous demander une phrase secrète / un mot de passe. Si ssh-agent est en cours d'exécution et configuré partout, vous ne devriez pas être invité à saisir un mot de passe / mot de passe.Je propose cette alternative, car si vous utilisez un tunnel, vous aurez toujours besoin de deux commandes: une pour configurer le tunnel et une pour copier le fichier à travers. Cela semble plus simple.
la source