使用质询-响应认证方法实现文件自动传输

使用质询-响应认证方法实现文件自动传输

使用 SCP 连接到远程服务器以放置文件。在执行此操作时,我们需要使用质询-响应身份验证方法向远程服务器进行身份验证,我们有一个单独的身份验证服务器:

For example

scp <Filename> admin@IP of REMOTE server:/Path

Challenge : 12345  Product ID:435432
Response : 

它要求响应(密码)来完成文件传输,我们需要将创建的质询和产品 ID 复制到身份验证服务器(server2),并从该服务器获取响应并将其放入上面显示的响应字段中。如果响应正确,它将继续文件传输,否则它将拒绝传输。

出于安全原因,我们提供了质询-响应身份验证选项。

我想使用此方法进行自动文件传输。

答案1

由于不知道更多细节,很难说。但这听起来确实是一项最适合expect脚本:

Expect 是一个根据脚本与其他交互式程序“对话”的程序。根据脚本,Expect 知道程序可以做什么以及正确的响应应该是什么。解释型语言提供分支和高级控制结构来指导对话。此外,用户可以在需要时直接控制并进行交互,然后将控制权交还给脚本。

有许多网站提供expect脚本示例,例如这个这个。但概念相当简单。以下是其中一个示例页面中的一个基本的“hello world”示例:

#!/usr/bin/expect
set timeout 10
expect "hello"
send "world"

这基本上将脚本超时设置为 10 秒,它会expect输入单词“hello”,然后它会发回单词“world”。

将该基本概念包装在一些 Bash 脚本逻辑中,也许这将帮助您实现使用质询-响应身份验证方法创建自动文件传输过程的目标。

相关内容