Skip to content

Commit 6fd25d3

Browse files
committed
docs(client): fixed #34 config file
1 parent ea6a947 commit 6fd25d3

1 file changed

Lines changed: 7 additions & 8 deletions

File tree

docs/client.md

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -473,30 +473,29 @@ SSH 客户端的全局配置文件是`/etc/ssh/ssh_config`,用户个人的配
473473
用户个人的配置文件`~/.ssh/config`,可以按照不同服务器,列出各自的连接参数,从而不必每一次登录都输入重复的参数。下面是一个例子。
474474
475475
```bash
476-
Host *
477-
Port 2222
478-
479476
Host remoteserver
480477
HostName remote.example.com
481478
User neo
482479
Port 2112
480+
481+
Host *
482+
Port 2222
483483
```
484484
485-
上面代码中,`Host *`表示对所有主机生效,后面的`Port 2222`表示所有主机的默认连接端口都是2222,这样就不用在登录时特别指定端口了。这里的缩进并不是必需的,只是为了视觉上,易于识别针对不同主机的设置
485+
上面代码中,`Host remoteserver`表示,下面的设置只对主机`remoteserver`生效。`remoteserver`只是一个别名,具体的主机由`HostName`命令指定,`User`和`Port`这两项分别表示用户名和端口。`HostName`、`User`、`Port`这三项前面的缩进并不是必需的,只是为了视觉上易于识别针对不同主机的设置
486486
487-
后面的`Host remoteserver`表示,下面的设置只对主机`remoteserver`生效。`remoteserver`只是一个别名,具体的主机由`HostName`命令指定,`User`和`Port`这两项分别表示用户名和端口。这里的`Port`会覆盖上面`Host *`部分的`Port`设置。
487+
后面的`Host *`表示对所有主机生效,`*`是一个通配符,比如`Host *.edu`表示只对一级域名为`.edu`的主机生效。这条命令下面的`Port 2222`表示所有主机的默认连接端口都是2222,这样就不用在登录时特别指定端口了。
488+
489+
注意,当`Host *`与`Host remoteserver`下面有同一项设定时(比如两者都有`Port`设定),第一个出现的值生效。在本例中,连接`remoteserver`时,默认端口将是2112,而不是2222,如果`Host *`放在配置文件的顶部,那么默认端口将是2222。
488490
489491
以后,登录`remote.example.com`时,只要执行`ssh remoteserver`命令,就会自动套用 config 文件里面指定的参数。
490-
单个主机的配置格式如下。
491492
492493
```bash
493494
$ ssh remoteserver
494495
# 等同于
495496
$ ssh -p 2112 neo@remote.example.com
496497
```
497498
498-
`Host`命令的值可以使用通配符,比如`Host *`表示对所有主机都有效的设置,`Host *.edu`表示只对一级域名为`.edu`的主机有效的设置。它们的设置都可以被单个主机的设置覆盖。
499-
500499
### 配置命令的语法
501500
502501
ssh 客户端配置文件的每一行,就是一个配置命令。配置命令与对应的值之间,可以使用空格,也可以使用等号。

0 commit comments

Comments
 (0)