PSFTP.EXE上的StrictHostKeyChecking配置

时间:2014-09-22 16:06:49

标签: ssh sftp putty public-key

当我需要在两台服务器(例如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是否可以避免交互式提示?

1 个答案:

答案 0 :(得分:2)

默认情况下,所有PuTTY工具(包括psftp)都表现为StrictHostKeyChecking=ask

使用-batchpsftp(以及pscpplink)的行为为StrictHostKeyChecking=yes。 如果您使用此开关并且psftp发现服务器的主机密钥已更改,您将获得:

  

警告 - 潜在的安全隐患!服务器的主机密钥没有   匹配PuTTY缓存在注册表中的一个。这意味着要么   服务器管理员已更改主机密钥,或者您已更改主机密钥   实际连接到假装是服务器的另一台计算机   新的...密钥指纹是:
  ...
  放弃了连接。

如果没有开关(默认行为),您将收到交互式提示。

同样适用于新服务器的主机密钥。

psftp(也不是任何其他PuTTY工具)从不的行为为StrictHostKeyChecking=no

显然,-batch也会影响所有其他提示,而不仅仅是主持键提示(与StrictHostKeyChecking比较)。 psftppscpplink)中有以下提示:

  • 用户名,密码,密码,密码更改和键盘交互提示(连接中止-batch
  • 不安全的算法提示(与主机密钥提示相同的行为)
  • 附加到现有日志文件? (当日志文件已存在时,日志文件已被-batch禁用,每次选项询问用户如果日志文件已存在,该怎么办 LI>