关闭

16条技巧让你更高效使用SSH

发表于:2011-9-02 10:25

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:yuanyi 译    来源:51Testing软件测试网采编

  5、省略主机名

  输入服务器的完整主机名来建立一个新的SSH连接实在是太乏味无聊了,尤其是当你有一组拥有相同域名但是子域名不同的服务器需要管理时,比如下面这样:

* www1.example.com
* www2.example.com
* mail.example.com
* intranet.internal.example.com
* backup.internal.example.com
* dev.internal.example.com

  或许你的网络已经配置了可以直接使用短域名,比如intranet,但是如果你的网络不支持,实际上你可以自己搞定这个问题,而不用求助网络管理员。

  解决办法根据你用的操作系统而略有差异,下面是我的Ubuntu系统的配置:

prepend domain-search “internal.example.com”, “example.com”;

  然后你需要重启网络:$ sudo restart network-manager

  不同的系统,这两条命令可能会略有差异。

  5、主机别名

  你也可以在你的SSH配置中直接定义主机别名,就像下面这样:

Host dev
HostName dev.internal.example.com

  你还可以使用通配符来进行分组:

Host dev intranet backup
HostName %h.internal.example.com
Host www* mail
HostName %h.example.com

  在Putty中你可以为每个主机名保存单独的session,然后双击建立连接(但是它可能没办法支持通配符)。

  7、省去用户名

  如果你在远程服务器上的用户名和你本地的用户名不同,你同样可以在SSH配置中进行设置:

Host www* mail
HostName %h.example.com
User simon

  现在就算我的本地用户名是 smylers,我仍然可以这样连接我的服务器:

$ ssh www2

  SSH会使用simon账户连接你的服务器,同样,Putty可以保存这个信息在你的session中。

  8、在服务器间跳转

  有些时候,你可能没法直接连接到某台服务器,而需要使用一台中间服务器进行中转,这个过程也可以自动化。首先确保你已经为服务器配置了公钥访问,并开启了agent forwarding,现在你就可以通过2条命令来连接目标服务器,不会有任何提示输入:

$ ssh gateway
gateway $ ssh db

  然后在你的本地SSH配置中,添加下面这条配置:

Host db
HostName db.internal.example.com
ProxyCommand ssh gateway netcat -q 600 %h %p

42/4<1234>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号