当我需要在两个服务器(例如Windows Server-> Linux Server)之间设置StrictHostKeyChecking
通信时,我遇到了sftp
配置问题。按照here的定义(将查找用于字符串匹配“StrictHostKeyChecking”):
如果此标志设置为“yes”,则ssh永远不会自动将主机密钥添加到〜/ .ssh / known_hosts文件,并且拒绝连接主机密钥已更改的主机。此选项强制用户手动添加所有新主机。如果此标志设置为“no”,则ssh会自动将新的主机密钥添加到用户已知的主机文件中。
我想使用PSFTP.EXE
将文件从Windows机器传输到Unix服务器,显然没有~/.ssh/known_hosts
的概念。那么我的问题是... StrictHostKeyChecking
的PSFTP.EXE
等价于什么?是简单的-batch
可以避免交互式提示吗?
最佳答案
默认情况下,所有PuTTY工具(包括psftp
)的行为都类似于StrictHostKeyChecking=ask
。
使用-batch
,psftp
(以及pscp
和plink
)表现为StrictHostKeyChecking=yes
。
如果您使用此开关,并且psftp
发现服务器的主机密钥已更改,您将得到:
在没有切换的情况下(默认行为),您将收到一个交互式提示。
同样,对于新服务器的主机密钥。psftp
(以及其他任何PuTTY工具)从不充当StrictHostKeyChecking=no
。
显然,-batch
也会影响所有其他提示,而不仅仅是主机按键提示(与StrictHostKeyChecking
相比)。 psftp
中有以下提示(pscp
和plink
):
-batch
终止连接)-batch
禁用日志记录,并且启用了“每次询问用户”选项以选择如果日志文件已经存在时该怎么做)关于ssh - PSFTP.EXE上的StrictHostKeyChecking配置,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25978461/