每个用户的默认 .ssh/config 文件是否会覆盖系统范围 ssh_config 中的所有选项?

每个用户的默认 .ssh/config 文件是否会覆盖系统范围 ssh_config 中的所有选项?

如果没有-F开关并且有一个/home/me/.ssh/config文件,我可以期望其中的设置/etc/ssh/ssh_config被忽略,或者我的主目录中的设置是否只是补充全局配置,就像我用-o节指定它们一样?

作为参考,ssh手册页显示该-F交换机执行以下操作。

指定备用的每用户配置文件。如果在命令行上给出配置文件,则系统范围的配置文件 ( /etc/ssh/ssh_config) 将被忽略。每用户配置文件的默认值为~/.ssh/config.

答案1

我可以期望中的设置/etc/ssh/ssh_config被忽略吗?

是的。ssh读取-F命令行选项,这将设置config变量:

case 'F':
    config = optarg;
    break;

以及稍后的通话功能process_config_files,其中:

  • 读取命令行上指定的配置,或者

  • 读取另外两个 (/etc/ssh/ssh_config~/.ssh/config) 文件。

none另外在命令行 ( ) 上指定-F none将导致不加载配置文件。有关如何处理此开关的更多详细信息,请参阅链接函数源代码。

相关内容