Comment puis-je stringr une caisse svn sur ssh?

Dis-moi que j'ai un hôte svn sur un réseau privé que nous my_work_svn . Je ne peux pas accéder à cela de l'extérieur, mais je peux y accéder à partir d'une machine que nous my_work_ssh (et je suppose que je travaille à partir d'un ordinateur appelé my_home ).

Maintenant, si je veux céder le repository, je peux le faire:

 ssh my_work_ssh svn co my_work_svn/master my_checked_out_repo # CTRL+D to quit ssh session from my_work_ssh scp my_work_ssh:my_checked_out_repo my_local_repo ssh my_work_ssh ssh my_work_ssh svn co my_work_svn/master my_checked_out_repo # CTRL+D to quit ssh session from my_work_ssh scp my_work_ssh:my_checked_out_repo my_local_repo svn co my_work_svn / master my_checked_out_repo ssh my_work_ssh svn co my_work_svn/master my_checked_out_repo # CTRL+D to quit ssh session from my_work_ssh scp my_work_ssh:my_checked_out_repo my_local_repo # CTRL + D pour quitter ssh session de my_work_ssh ssh my_work_ssh svn co my_work_svn/master my_checked_out_repo # CTRL+D to quit ssh session from my_work_ssh scp my_work_ssh:my_checked_out_repo my_local_repo 

mais cela semble long et alambiqué, comment puis-je faire cela avec une seule command?

Cela peut être simplifié en utilisant ssh tunneling (et ou ProxyCommands)

Cela vit en .ssh/config . Si vous n'êtes aucune idée de Windows.

  • définissez votre hôte bastion hôte Host my_work_ssh Hostname some.hostname.com User usename IdentityFile ~/.ssh/id_rsa_work_ssh

  • Définissez votre svn

Host my_work_svn HostName svn.internal.domain IdentityFile ~/.ssh/root/id_rsa_work_ssh ProxyCommand ssh my_work_ssh exec nc %h %p 2>/dev/null

  • Connectez-vous au less une fois à my_work_ssh et my_work_svn et copyz les inputs known_hosts sur votre bureau.
  • Maintenant, vous pouvez exécuter ssh my_work_svn partir de votre ordinateur de bureau et ce qui suit se produira:
    • vous serez automatiquement connecté à my_work_ssh
    • Une session nc sera ouverte à my_work_svn
    • toute communication sera transmise au cours de cette session nc

L'effet final est que vous utilisez un hôte intermédiaire pour sauter autour du FW. Cela fonctionne à la fois pour ssh et scp (et svn + ssh est juste des commands ssh et svn à l'intérieur).

Notez s'il vous plaît:

  • L'installation des keys publiques est préférée et plus rapide
  • ProxyCommand est parfois pointilleux
  • AgentForwarding doit être activé sur my_work_ssh machine