Virtual machine 登录Bluemix虚拟机时突然要求输入密码

Virtual machine 登录Bluemix虚拟机时突然要求输入密码,virtual-machine,ibm-cloud,Virtual Machine,Ibm Cloud,我已经创建了一个具有公共ssh密钥的VM。 创建后,我可以使用ssh私钥登录: ssh -i cloud.key ibmcloud@129.41.xxx.xx 成功登录几次后,在尝试使用同一命令登录时,突然要求我输入密码: $ ssh -i cloud.key ibmcloud@129.41.xxx.xx ibmcloud@129.41.133.80's password: 你知道为什么会这样吗? 我已经删除并重新创建了具有相同行为的VM。在成功登录之后,它开始询问密码 [已编辑]添加-vv

我已经创建了一个具有公共ssh密钥的VM。 创建后,我可以使用ssh私钥登录:

ssh -i cloud.key ibmcloud@129.41.xxx.xx
成功登录几次后,在尝试使用同一命令登录时,突然要求我输入密码:

$ ssh -i cloud.key ibmcloud@129.41.xxx.xx
ibmcloud@129.41.133.80's password:
你知道为什么会这样吗? 我已经删除并重新创建了具有相同行为的VM。在成功登录之后,它开始询问密码

[已编辑]添加-vv详细信息:

.........
.........
debug2: kex_parse_kexinit: none,zlib@openssh.com
debug2: kex_parse_kexinit: none,zlib@openssh.com
debug2: kex_parse_kexinit:
debug2: kex_parse_kexinit:
debug2: kex_parse_kexinit: first_kex_follows 0
debug2: kex_parse_kexinit: reserved 0
debug2: mac_setup: setup umac-64-etm@openssh.com
debug1: kex: server->client aes128-ctr umac-64-etm@openssh.com none
debug2: mac_setup: setup umac-64-etm@openssh.com
debug1: kex: client->server aes128-ctr umac-64-etm@openssh.com none
debug1: sending SSH2_MSG_KEX_ECDH_INIT
debug1: expecting SSH2_MSG_KEX_ECDH_REPLY
debug1: Server host key: ECDSA 12:05:44:27:ab:c9:98:5f:45:ab:1d:d7:e0:ca:ba:3a
debug1: Host '129.41.xxx.xx' is known and matches the ECDSA host key.
debug1: Found key in /home/xxxx/.ssh/known_hosts:11
debug2: kex_derive_keys
debug2: set_newkeys: mode 1
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug2: set_newkeys: mode 0
debug1: SSH2_MSG_NEWKEYS received
debug1: Roaming not allowed by server
debug1: SSH2_MSG_SERVICE_REQUEST sent
debug2: service_accept: ssh-userauth
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug2: key: cloud.key (0x6000686e0), explicit
debug1: Authentications that can continue: publickey,password
debug1: Next authentication method: publickey
debug1: Offering RSA public key: cloud.key
debug2: we sent a publickey packet, wait for reply
debug1: Authentications that can continue: publickey,password
debug2: we did not send a packet, disable method
debug1: Next authentication method: password

谢谢

确保命令中没有输入错误。例如,IP地址中的一个输入错误可能会无意中将您指向另一个VM,在那里您的密钥无法工作,它将退回到使用密码。如果不是这样的话,那么最好的办法就是获得更多关于提示您输入密码的详细信息。请尝试以下命令:

$ ssh -vv -i cloud.key ibmcloud@129.xxx.xxx.xxx
当它与您的虚拟机协商时,将给出该命令的详细跟踪,并给出一些指示,说明为什么它会绕过您的密钥文件,转而使用密码。如果尝试此操作后仍不清楚该行为的原因,请发布上述命令的输出

ssh ibmcloud@129.xxx.xxx.xxx

这应该行得通。如果没有,请使用xclip或pbcopy将其复制到剪贴板,然后将其粘贴到Bluemix中创建VM>新建SSH密钥>导入>粘贴SSH密钥。

回答我自己的问题。。。。问题是一位同事将主目录权限更改为777,出于某种原因,SSH认为这是不安全的,并且没有进行身份验证,尽管-vv参数没有说明任何相关内容


希望这对其他人有所帮助。

很抱歉,我当时不在办公室。我用-vv输出更新问题。老实说,我没有看到任何关于为什么使用私钥登录不起作用的错误或提示。你对阅读输出有什么建议吗?谢谢我已经看到了当密钥对的公钥部分根本不在服务器上或者ssh守护进程服务器配置没有指向具有公钥的授权密钥文件时的调试日志模式。你是自己生成的还是使用了创建图像时Web UI生成的密钥?我自己创建的。正如我所说,它在一段时间内运行良好。目前正在调查这一问题是否可能是一位同事对主目录所做的权限更改,尽管-vv没有对此做任何说明。我会回来的。问题是一位同事将主目录权限更改为777,并且出于某种原因,SSH认为这不安全,并且没有进行身份验证,尽管-vv参数没有说明任何内容。这一定是SSH客户端问题-如果私钥文件具有777权限,则即使没有-vv标志,您也应该会收到错误。在MAC OS X Yosemite上,有一条非常显著的信息显示警告:未受保护的私钥文件。。。此私钥文件将被忽略我无法访问bluemix vm,为什么!由于我的免费试用帐户,您如何访问