这里对 Linux 还很陌生。试图更好地掌握操作系统。这是我的问题 -
我有一个关于从 Linux 机器中删除 ssh_config 文件的影响的问题。我在尝试将 SCP 文件从 Linux 机器传输到 Mac 时遇到了一些密码不匹配的问题。在尝试尝试并使其正常工作时,我创建了 ssh_config 文件的备份并删除了原始 ssh_config 文件,然后 scp 传输开始工作。
我对此感到有点惊讶,因为我的印象是 ssh_config 是由 Linux 机器上的 SSH 客户端使用的,理想情况下,如果没有它,scp 应该会失败。既然SCP在删除它后起作用了,那么也许我对ssh_config文件的意义的理解是错误的。
您能否帮助我了解即使没有 ssh_config 文件,scp 传输也是如何工作的?
答案1
与大多数配置文件一样,/etc/ssh/ssh_config
只需要列出从默认值更改的选项。如果该文件不存在,ssh
则使用默认选项。如果您不依赖非默认设置,则缺少该文件不会产生任何影响。
例如,在 Debian 上,默认ssh_config
文件中的唯一选项是:
SendEnv LANG LC_*
HashKnownHosts yes
GSSAPIAuthentication yes
scp
不关心线路的区域设置,SendEnv
不会影响它。HashKnownHosts
不会阻止任何东西工作,它只会影响新条目的写入方式~/.ssh/config
。如果没有GSSAPIAuthentication
,scp
将无法工作 - 但前提是您使用GSAPI身份验证,这是非常不常见的(它几乎只用于克伯罗斯)。