OpenSSH系列(八)-别名的处理
上一期结尾说到了
ssh fb-react01-teer.xx.yy.zz
, 这样的命令, 但是, 你不觉得这个命令 太长了吗? 后面的xx.yy.zz
完全可以忽略的啊.
我们想得到什么
就是使得上面的命令, 做一些简化, 例如ssh fb-react01-teer
, 我们希望也能达到
一样的效果, 这种方式的处理, 每次可以少写许多内容了.
要如何实现呢?
首先, 我们需要了解到, OpenSSH是使用了TCP连接, TCP连接依靠的是IP, 并不是主机名?
但是我们如何通过主机名获取IP呢? 网络知识扎实的话, 应该是可以考虑到hosts文件的.
这里, 我采用一种更为直接的方式: getent
命令
1 | # 类似得到一条hosts记录 |
现在我们已经可以通过缩写的用户名, 得到具体的IP地址了, 而这个IP地址要怎样告诉 OpenSSH呢.
这里, 算是ProxyCommand
的一个奇特用法了.
1 | Host gg-* ms-* fb-* |
通过配合这两个配置, 你就可以使用ssh fb-react01-teer
进行连接了, 有一种奇特怪异
的气息, 但功能实现的很好.
简单扩展
除此之外, ProxyCommand
还可以这样使用. 假如某一类机器, 你知道了IP, 也知道了
这一类机器的登录方式与上述的无二, 但是还不知道机器名.
那么你可以这样使用:
1 | Host ttt-* |
上面所做的, 就是将类似ttt-1.2.3.4
这样的IP, 转换成1.2.3.4
作为proxy
你可以这样使用:
1 | ~ ❤ ssh ttt-1.2.3.4 |
应该还有更多更多的用法可以挖掘.