在尝试实施LinuxServerHacks中的一些hack时,我不得不转到ssh联机帮助页,在那里我发现了一些很酷的技巧。
- 为了使基于密钥的身份验证(即无密码)工作,
$HOME/.ssh
目录必须是0700
模式,并且所有文件其中必须是模式0600
。一旦设置正确,基于密钥的身份验证就可以完美地工作。 - 您可以在
$HOME/.ssh
目录中有一个名为config的文件,它指定使用SSH的用户特定设置,以及一些主机特定设置:
Compressionyes
开启压缩ForwardX11yes
默认开启X11转发ForwardAgentyes
默认开启ssh-agent转发- Host-based设置从一个Host关键字到下一个,所以放置他们在文件的末尾。按照以下顺序进行:
```apacheconf Host nickname HostName actual.host.name User username_on_that_host Port PortToUse ``` This means, for instance, that I can ssh back and forth between home using the same key-based authentication and the same ssh-to script ([more below](#ssh-to)) I use for work servers -- because I don't have to specify the port or the username.
我之前提到过一个名为ssh-to
的脚本。这也是来自服务器黑客书的一个巧妙的小黑客。基本上,您的路径中某处有以下脚本:
#!/bin/bash ssh -C `basename $0` $*
然后,在你路径的其他地方,你做了一堆ln-s/path/to/ssh-to/path/to/$HOSTNAME
,其中$HOSTNAME
是您定期连接到的主机的名称;这是在您的$HOME/.ssh/config
文件中指定主机昵称的地方可以派上用场。然后,要通过ssh连接到任何此类服务器,您只需在命令行键入$HOSTNAME
,就可以了!