欢迎访湖南省信息网络安全协会网站

湖南省信息网络安全协会

SSH不输入密码等10条使用安全技巧

发布时间:2013-04-27 09:18 来源:本站

  SSH 是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题。S S H最初是U N I X系统上的一个程序,后来又迅速扩展到其他操作平台。S S H在正确使用时可弥补网络中的漏洞。客户端包含ssh程序以及像scp(远程拷贝)、slogin(远程登陆)、sftp(安全文件传输)等其他的应用程序。SSH有很多非常酷的特性,如何它是你每天的工作伴侣,那么我想你有必要了解以下16条高效使用SSH的秘籍,它们帮你节省的时间肯定会远远大于你用来配置它们的时间。
  1. 在服务器间跳转
  有些时候,你可能没法直接连接到某台服务器,而需要使用一台中间服务器进行中转,这个过程也可以自动化。首先确保你已经为服务器配置了公钥访问,并开启了agent forwarding,现在你就可以通过2条命令来连接目标服务器,不会有任何提示输入:
  $ ssh gateway
  gateway $ ssh db
  然后在你的本地SSH配置中,添加下面这条配置:
  Host db
  HostName db.internal.example.com
  ProxyCommand ssh gateway netcat -q 600 %h %p
  现在你就可以通过一条命令来直接连接目标服务器了:
  $ ssh db
  这里你可能会需要等待长一点的时间,因为SSH需要进行两次认证,,注意netcat也有可能被写成nc或者ncat或者前面还需要加上g,你需要检查你的中间服务器来确定实际的参数。
  2. 省去用户名
  如果你在远程服务器上的用户名和你本地的用户名不同,你同样可以在SSH配置中进行设置:
  Host www* mail
  HostName %h.example.com
  User simon
  现在就算我的本地用户名是 smylers,我仍然可以这样连接我的服务器:
  $ ssh www2
  SSH会使用simon账户连接你的服务器,同样,Putty可以保存这个信息在你的session中。
  3. 主机别名
  你也可以在你的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,然后双击建立连接(但是它可能没办法支持通配符)。
  4. 省略主机名
  输入服务器的完整主机名来建立一个新的SSH连接实在是太乏味无聊了,尤其是当你有一组拥有相同域名但是子域名不同的服务器需要管理时,比如下面这样:
  * www1.example.com
  * www2.example.com
  * mail.example.com
  * intranet.internal.example.com
  * backup.internal.example.com
  * dev.internal.example.com