一种在SSH隧道中指定与正在使用的主机不同的主机的方法

时间:2010-06-06 18:54:06

标签: ssh tunnel elastic-beanstalk

我正在尝试设置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隧道时有一个选项,这意味着我不必使用我的主机文件解决方法?

1 个答案:

答案 0 :(得分:-1)

我会在您的hosts文件中添加一个条目,将127.0.0.1映射到您需要的主机名,然后使用主机名连接到您的隧道。

更新 主机文件是IMO的最佳选择。