我正在尝试设置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,将username.svn.beanstalkapp.com映射到我的hosts文件中的127.0.0.1,然后对于隧道我使用命令:
ssh -L 8080:ip:443 -p 22 -l tom -N 127.0.0.1
我可以告诉Subversion那个回购。位于:
https://username.svn.beanstalkapp.com:8080/repo-name
这使用我的隧道,接受用户名和密码。
所以,我的问题是,如果在设置SSH隧道时有一个选项,这意味着我不必使用我的主机文件解决方法?
答案 0 :(得分:-1)
我会在您的hosts文件中添加一个条目,将127.0.0.1映射到您需要的主机名,然后使用主机名连接到您的隧道。
更新 主机文件是IMO的最佳选择。