多少个空格是ssh配置的最佳选择

时间:2017-11-14 09:21:00

标签: ssh

对于Ruby,使用2个空格是最好的。 对于Python,使用4个空格是最好的。

但对于ssh配置文件,最好有多少个空格?

2 个答案:

答案 0 :(得分:4)

配置文件(适用于\或其他程序)不需要缩进。

它们包含ssh类型的行 有些程序允许等号周围的空格,其他程序更严格,不接受它们。

name=value接受等号周围的空格但忽略它们。使用你喜欢的人数但不要滥用它们并让文件可读。

来自documentation的小片段:

  

该文件包含关键字 - 参数对,每行一个。以ssh开头的行和空行被解释为注释。可以选择将参数括在双引号(#)中,以表示包含空格的参数。配置选项可以用空格或可选空格分隔,只有一个";后一种格式有助于避免在使用=sshscp选项指定配置选项时引用空格的必要性。

答案 1 :(得分:4)

我发现上面接受的答案有些混乱,所以我想我会提供一些其他信息。

对于最初的问题,ssh配置文件允许但不要求空格缩进(制表符或空格)。空行和以井号#开头的行将被忽略。

配置文件由节组成,每个节以保留字HostMatch开头,后跟一个选项列表,直到节在下一个Host,{{1} }或文件末尾。

可以将选项指定为Match name value。从OpenSSH release notes看,开发人员似乎使用name=value格式。前导空格被忽略。未引用的行内空格也将被忽略

以下内容(带和不带等于和空格的混合)是等效的

name=value

请注意,解析选项时等号很重要。带有嵌入式等号的值需要加引号。这个人为的例子演示了没有引号的情况。

Host test1
Hostname = 192.168.0.100

Host test1
    Hostname 192.168.0.100

    Host=test1
    Hostname 192.168.0.100

将在Host test1 Hostname = 192.168.0.100 UserKnownHostsFile /tmp/name_with=equals /tmp/name2 /tmp/name_with中寻找已知的主机,但不在/tmp/name2中寻找。