linux – SSH到AWS EC2问题 – key_load_public:没有这样的文件
不幸的是,3小时的谷歌搜索对我没有帮助,我指望那里的人能够通过这一切行走’nix noob’.
我的情况 几个月来,我一直在从我的mac成功地进入我的AWS实例.即使在今天它仍然有效.这在逻辑上消除了所有与设置相关的问题,例如确保我打开端口22,指向0.0.0.0/0,具有正确的用户名(其ubuntu不是ec2用户),正确许可我的pem文件等. 然后我的mac挂起,我重启mac,突然间我再也不能ssh了.我甚至无法通过直接从aws控制台启动的java客户端进入ssh. aws控制台上的利用率和其他状态检查看起来很好. 这是我的-vvv替换了个人信息: OpenSSH_6.9p1,LibreSSL 2.1.8 debug1: Reading configuration data /etc/ssh/ssh_config debug1: /etc/ssh/ssh_config line 21: Applying options for * debug2: ssh_connect: needpriv 0 debug1: Connecting to <myip> [<myip>] port 22. debug1: Connection established. debug1: key_load_public: No such file or directory debug1: identity file /Users/<myfilepath>/ipythonswyx1.pem type -1 debug1: key_load_public: No such file or directory debug1: identity file /Users/<myfilepath>/ipythonswyx1.pem-cert type -1 debug1: Enabling compatibility mode for protocol 2.0 debug1: Local version string SSH-2.0-OpenSSH_6.9 ssh_exchange_identification: read: Operation timed out 我认为很明显debug1:key_load_public:这里没有这样的文件或目录.但是a)为什么会突然停止工作? b)即使我再次修改了pem文件,它仍然显示此错误? 我可以在网上找到的唯一其他解决方案是删除这个实例,只是从头开始重新设置 – 我非常想保留这个实例. 你可以建议我应该google或我可以运行的任何其他诊断吗?作为这样一个n00b的问题是我甚至不知道要问的正确问题或如何描述我的问题,而不是“这件事现在起作用并不起作用,我没有任何想法的原因”.救命. 解决方法
以用户身份打开shell
输入此命令 find $HOME -name ipythonswyx1.pem -print 这应该找到你的密钥的路径.如果没有,还有其他一些可能性: >该键的名称与上面输出中显示的名称不同 假设找到了密钥,请记下路径并将其用作ssh上的参数“identityfile”.因此,假设路径为/Users/Bob/.ssh/ipythonswyx1.pem且主机IP地址为54.3.4.5,请尝试此命令 ssh -i /Users/Bob/.ssh/ipythonswyx1.pem ubuntu@54.3.4.5 如果未找到密钥,则需要创建一个新实例,从旧磁盘分离EBS卷,将旧EBS卷附加到新实例,为ubuntu的“.ssh / authorized_keys”文件添加新密钥旧EBS卷上的用户然后卸载它并重新连接到旧实例. 有关此事件序列的更多信息(更改密钥),请参阅serverfault http://www.voidcn.com/article/p-vnzniyyk-bty.html上的此答案 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |