使用ProxyCommand连接ssh
跟日本人打交道,人都要给气死哦.今天客户给了2台服务器,一台跳板,一台web,web是内网,跳板有外网,客户只发了短短几句,没有说清楚到底怎么连,只说了先在~/.ssh/config里加入下面的东西:
Host dxx.sxx-bastion
hostname 54.65.xx.2xx
Port 18330
User ec2-user
Host dxx.sxx-web1
hostname 10.0.x.xx
ProxyCommand ssh dxx.sxx-bastion -W %h:%p
User ubuntu
然后说让我们测试下是否可以连上,当然ssh认证也只有2个,看了认证我就先想fuck了,居然是开发和他们那边技术的,连我的都没有给加上,光是认证这我都是在同事机器上登录上去,我自己加上我的,好了,当验证web的时候,这就搞死我了,因为我以前没有搞过有ProxyCommand来登录的ssh,一直跟日本那边沟通说为什么从跳板机上连不到web1上,日本那边就一直只重复说不要从dxx.sxx-bastion上连接,直接ssh d2c.spk-web1,我心想你当老子傻啊,内网ip怎么从外网连,最后pm提示了一句,下面那个ProxyCommand是搞什么用的,我才注意到这个很奇怪,一搜索才发现居然还真的有用ProxyCommand来登录的,心中高兴了下,马上在自己的mac上整起,测试,连是可以连了,但web1也没有我的认证,又在同事的mac上装起加上自己的认证就可以了.真心伤不起,日本人的死板加上我的不仔细,造成一个简简单单的ssh登录检查搞了居然有半天.下面来说说mac上怎么使用ProxyCommand.
系统:mac os x 10.9.x
1.先要有brew
怎么安装就不说了,大家自己找.
2.安装ProxyCommand
brew install proxychains-ng
3.配置ssh别名
vi ~/.ssh/config
Host dxx.sxx-bastion
hostname 54.65.xx.2xx
Port 18330
User ec2-user
Host dxx.sxx-web1
hostname 10.0.x.xx
ProxyCommand ssh dxx.sxx-bastion -W %h:%p
User ubuntu
保存后,进行登录验证.
ps:
%h 表示 hostname
%p 表示 port
4.验证
ssh dxx.sxx-web1
登录上了,心中的激动那是无法言表的,好了,其实这篇不能算技术文章,大部分是抱怨的成分多.还是要说日本人死板的传说还真是对的.
参考:
http://wdicc.com/controlmaster-in-ssh/
http://www.gaojinan.com/terminal-connect-ssh-via-proxy.html
评论: