c++ - 自动“是”到 Popen SSH 命令
问题描述
嗨,我正在编写一个 C++ 程序,以使用该popen
功能自动 SSH 连接到 AWS 实例。
void initiate_ssh(char ip[100]){
char ssh[250];
FILE* fp;
strcpy(ssh,"ssh -i theKey.pem ec2-user@");
strcat(ssh,ip);
fp=popen(ssh,"w");
if(fp){
// respond yes automatically
}
pclose(fp);
}
我搜索了很多线程,但我只能在 python 中找到类似的情况,但我对 python 不太熟悉。所以我需要自动将“是”传递给popen
,以便获得对实例的远程访问。
解决方案
在这里,我们看到一个“XY 问题”。您想自动接受主机密钥(这是“X”)。你认为你可以通过在提示符下自动输入“yes”(这是“Y”)来做到这一点。你被困住了,所以你问如何做 Y。但是有一个更简单的方法来做 X。
将选项添加-o StrictHostKeyChecking=no
到您的 SSH 命令。
strcpy(ssh,"ssh -o StrictHostKeyChecking=no -i theKey.pem ec2-user@");
// ^^^^^^^^^^^^^^^^^^^^^^^^^^^
我假设ssh
缓冲区已经足够长来包含这个额外的选项。
推荐阅读
- c# - DateTime.ParseExact 无法按预期工作
- excel - 为什么 VBA 不允许我在用户窗体的命令按钮中声明公共数组?
- mongodb - 如何在 mongodb 中像 SQL 一样编写 sum(if a>=10 and a<=100,a,0)
- routing - 串行通过并行展位乘法器
- openedge - OpenEdge 4GL REST 服务:计算临时表值会产生错误
- javascript - 我怎样才能让网站记住上次显示的表格?
- cache-control - 为什么谷歌洞察力要求为具有过期图像的有效缓存策略提供静态资产?
- excel - 创建一个抓取单元格值的 vba 循环
- python - 使用torch时如何解决AttributeError?
- python - Python 3 list sorting with a tie-breaker