我正在尝试设置一个 SSH 隧道来访问 Beanstalk(绕过烦人的代理服务器)。
我可以让它工作,但有一个警告:我必须将我的主机文件中的 Beanstalk 主机 URL (username.svn.beanstalkapp.com) 映射到 127.0.0.1 (并在设置时使用 ip 代替域隧道)。
原因(我认为)是我使用本地 SSH 实例(在 Snow Leopard 上)创建隧道,如果我在与 Beanstalk 交谈时使用 localhost 或 127.0.0.1,它会拒绝授权凭据。我相信这是因为 Beanstalk 使用请求中指定的主机名来确定应该检查用户名/密码组合的帐户。如果使用 localhost,我认为请求中缺少此信息(以 Beanstalk 需要的某种方式)。
目前我挖掘了 username.svn.beanstalkapp.com 的 IP,在我的 hosts 文件中将 username.svn.beanstalkapp.com 映射到 127.0.0.1,然后对于隧道,我使用以下命令:
ssh -L 8080:ip:443 -p 22 -l tom -N 127.0.0.1
我可以告诉 Subversion 那个 repo。位于:
https://username.svn.beanstalkapp.com:8080/repo-name
这使用我的隧道并接受用户名和密码。
所以,我的问题是在设置 SSH 隧道时是否有一个选项,这意味着我不必使用我的主机文件解决方法?