首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在ssh上链接svn结帐?

如何在ssh上链接svn结帐?
EN

Server Fault用户
提问于 2014-06-10 11:29:00
回答 1查看 662关注 0票数 -2

假设我在一个专用网络上有一个svn主机,我们称之为my_work_svn。我不能从外部访问它,但是我可以从一台我们称之为my_work_ssh的机器上访问它(假设我是从一台名为my_home的计算机中工作)。

现在,如果我想签出存储库,我可以这样做:

代码语言:javascript
复制
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

但是这看起来又长又复杂,我怎么用一个命令来完成这个任务呢?

EN

回答 1

Server Fault用户

回答已采纳

发布于 2014-06-10 11:52:44

这可以通过使用ssh隧道(和ProxyCommands)来简化。

它住在.ssh/config。如果你没有窗户,不知道。

  • 定义您的堡垒主机Host my_work_ssh Hostname some.hostname.com User usename IdentityFile ~/.ssh/id_rsa_work_ssh
  • 定义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

  • 至少连接一次到my_work_sshmy_work_svn,并将known_hosts条目复制到桌面上。
  • 现在您可以从您的桌面计算机上执行ssh my_work_svn,并将发生以下情况:
    • 您将首先自动连接到my_work_ssh
    • 将向my_work_svn打开nc会话。
    • 所有通信将在此nc会话上转发。

最终的效果是,您正在使用中间主机跳过FW。这既适用于ssh,也适用于scp ( svn+ssh只是其中的ssh和svn命令)。

请注意:

  • 公钥设置更佳,速度更快。
  • ProxyCommand有时很挑剔
  • 必须在AgentForwarding机器上启用my_work_ssh
票数 2
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/604045

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档