当我需要在两台服务器(例如Windows Server ---> Linux Server)之间设置StrictHostKeyChecking
通信时,我会遇到sftp
配置。定义为here(使用find for string match" StrictHostKeyChecking"):
如果此标志设置为“yes”,则ssh将永远不会自动将主机密钥添加到〜/ .ssh / known_hosts文件中,并拒绝连接到主机密钥已更改的主机。此选项强制用户手动添加所有新主机。如果此标志设置为“no”,则ssh将自动将新主机密钥添加到用户已知主机文件。
我想使用PSFTP.EXE
从Windows机器向Unix服务器传输文件,显然没有~/.ssh/known_hosts
的概念。那么我的问题是...... StrictHostKeyChecking
PSFTP.EXE
的等价物是什么。简单的-batch
是否可以避免交互式提示?
答案 0 :(得分:2)
默认情况下,所有PuTTY工具(包括psftp
)都表现为StrictHostKeyChecking=ask
。
使用-batch
,psftp
(以及pscp
和plink
)的行为为StrictHostKeyChecking=yes
。
如果您使用此开关并且psftp
发现服务器的主机密钥已更改,您将获得:
警告 - 潜在的安全隐患!服务器的主机密钥没有 匹配PuTTY缓存在注册表中的一个。这意味着要么 服务器管理员已更改主机密钥,或者您已更改主机密钥 实际连接到假装是服务器的另一台计算机 新的...密钥指纹是:
...
放弃了连接。
如果没有开关(默认行为),您将收到交互式提示。
同样适用于新服务器的主机密钥。
psftp
(也不是任何其他PuTTY工具)从不的行为为StrictHostKeyChecking=no
。
显然,-batch
也会影响所有其他提示,而不仅仅是主持键提示(与StrictHostKeyChecking
比较)。 psftp
(pscp
和plink
)中有以下提示:
-batch
)-batch
禁用,每次选项询问用户如果日志文件已存在,该怎么办) LI>