我想做什么: 使用python脚本在openstack环境中登录虚拟机
我到目前为止所做的:
我使用了CLI:$last_permission = file_get_contents("permission.txt");
if(!$last_permission){
$permission = fileperms("file_to_trace.txt");
}else{
if($permission != fileperms("file_to_trace.txt"){
mail("user@user.com", "contents");
}
}
file_put_contents("file_to_trace.txt", $permission);
创建openstack密钥对,并使用openstack keypair create abc > /root/keydir/abc
更改了
权限
然后我从仪表板创建一个虚拟机,并使用我刚刚创建的密钥
我设置了虚拟机并等待它进入正确的状态
最后,我在控制器节点中使用以下命令:
chmod 600 abc
当我在python中运行时,它显示了我:ip netns exec qdhcp-c8db7805-c5e8-aaaa-xxxx-xxxxx ssh -i /root/keydir/abc
root@192.168.111.104(vm's ip) "ping 127.0.0.1 -c 10 "
。
我直接在Linux中运行命令,提示我输入密码,这不是我想要的结果
为什么密钥对不起作用?
答案 0 :(得分:2)
您应该使用管理员帐户(而不是“ root”)。帐户名称取决于在Linux映像上如何配置“ cloud-init”,但是通常是:
默认情况下,“ sshd”配置不允许(不应!)允许SSH通过网络登录“ root”帐户。