【发布时间】:2016-09-19 19:36:00
【问题描述】:
我有一台运行 Ubuntu 14.04LTS 的 EC2 (AWS Amazon)。尝试将 Openssh 从 6.6p 更新到 6.9,唯一的方法是从源 (openssh.com) 编译源代码,因为 Canonical 不提供最新版本,即使在后向端口中也是如此。
但是,在编译代码之后,使用传统的方法(.confiugre -- 跳过配置目录 --,make 和 make install),我不能再访问我的实例了。显示错误:Permission Denied (public key)
当然,我的实例仍在工作,因为我之前没有关闭会话以进行回滚,将新的守护进程(更新的 sshd 文件)更改为旧的。
无论如何,我需要进行此更新。而且,我在这里寻求可以帮助我的人,如何做到这一点。
任何帮助将不胜感激。非常感谢。
已修复
固定升级 Ubuntu 版本,从 14.04 LTS 到 16.04 LTS (Xenial)。这个版本有OpenSSH 7.2。感谢所有试图帮助我的人。
【问题讨论】:
-
当您尝试连接到新的
sshd时,尝试使用ssh -v提高输出的详细程度(或者使用-vv或-vvv甚至更高),输出将显示您正在尝试哪些身份验证方法以及原因。 -
@Tim,感谢您的回答。我通过两个连接比较打印的调试(-v)来分析这一点,新的和旧的都知道错误在哪里。两者完全相同,当然,守护进程名称除外。
-
如果实例上仍有打开的 ssh shell,请尝试检查
/var/log/auth.log是否存在 sshd 错误。 -
Openssh "1:6.6p1-2" 已经包含一些安全修复。如果您坚持编译新的 sshd,为什么不在另一个 t2.small 实例中进行编译以排除所有可能的问题。在最坏的情况下,您仍然可以将 t2.small EBS 根安装在另一个 EC2 实例中并检查问题所在。
-
谢谢大家。但我的时间不多了。我通过升级 Ubuntu 版本解决了这个问题。 Xenial 拥有最新版本的 Openssh。
标签: ubuntu amazon-web-services amazon-ec2 server openssh