关于远程端口转发理解实践
在 LdapClientHost 上执行如下命令即可建立一个 SSH 的本地端口转发,例如:
$ ssh -L 7001:localhost:389 LdapServerHost 端口7001 会开在LdapClient上
在 LDAP 服务器(LdapServertHost)端执行如下命令建立一个SSH的远程端口转发,例如:
$ ssh -R 7001:localhost:389 LdapClientHost, 端口7001 会开在LdapClient上
ssh -R <local port>:<remote host>:<remote port> <SSH hostname>
不要被这里说的<local port> 迷惑了,他所谓的local 都是相对于把LdapClient当成是local,只不过这个port既可以由自己开启(本地转发-L),也可以由别人代为开启(远程转发 -R),他们最终的目的都是实现了在LdapClient上开启了个端口,以供监听。
本地端口转发,在本地服务器执行命令;远程端口转发,在远程服务器执行命令。
-----------------------------------------------------------------------------------------------------------------------------
在kickstart执行该命令,
ssh -g -L 9999:192.168.0.11:22 ceeadm@10.164.235.20
端口9999是开在了kickstart上, 然后在kickstart上执行
ssh -p 9999 root@localhost
会登陆到fuel上。
在cic上执行命令
ssh -g -R 10.164.235.18:7777:192.168.0.11:22 ubuntu@10.164.235.18
端口7777是开在了kickstart上,然后在kickstart上执行
ssh -p 7777 root@localhost (注意这里的localhost换成ip反而不行)
会登陆到fuel上
再在kickstart上执行
ssh -g -L 3333:localhost:9999 ubuntu@localhost
相当于kickstart上的3333和9999端口做了转换,
于是再执行
ssh -p 3333 root@10.164.235.18 (这里就可以用ip了)
就可以登陆fuel了