我正在创建一个 bash 脚本来创建新的 EC2 实例,然后在创建实例后上传一个文件。但是,我正在使用 scp 上传文件,因为这是我第一次连接到实例,所以脚本会提示“您确定要继续连接(是/否)吗?” 因为主机的真实性是未知的。该脚本需要以非交互方式运行。
是否可以避免提示(似乎没有明显的命令行选项)。如果没有,我可以使用其他方法或命令上传文件吗?
我正在创建一个 bash 脚本来创建新的 EC2 实例,然后在创建实例后上传一个文件。但是,我正在使用 scp 上传文件,因为这是我第一次连接到实例,所以脚本会提示“您确定要继续连接(是/否)吗?” 因为主机的真实性是未知的。该脚本需要以非交互方式运行。
是否可以避免提示(似乎没有明显的命令行选项)。如果没有,我可以使用其他方法或命令上传文件吗?
您可以将选项设置StrictHostKeyChecking
为no in ~/.ssh/config
。看ssh_config(5)
这也可以从命令行完成: scp -i id -o stricthostkeychecking=no source.txt user@host:/path/
其中 id 是一个私钥,对应的公钥位于服务器上的 authorized_keys 文件中
虽然可能不是最终和最安全的解决方案,但您可以尝试编写一个期望脚本。