阿里云服务器ECS    
弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新 [咨询更多]
阿里云存储OSS
简单易用、多重冗余、数据备份高可靠、多层次安全防护安全性更强、低成本 [咨询更多]
阿里云数据库RDS
稳定可靠、可弹性伸缩、更拥有容灾、备份、恢复、监控、迁移等方面的全套解决方案 [咨询更多]
阿里云安全产品
DDoS高防IP、web应用防火墙、安骑士、sll证书、态势感知众多阿里云安全产品热销中 [咨询更多]
阿里云折扣优惠    
云服务器ECS、数据库、负载均衡等产品新购、续费、升级联系客服获取更多专属折扣 [咨询更多]
使用阿里云SSH密钥无法登录阿里云服务器
2020-3-5    点击量:

  问题描述:

  使用阿里云SSH密钥对免密登陆服务器时有很多种情况都会导致登陆失败,可能原因有:

  阿里云ssh服务器没有开启密钥登陆功能,使用控制台生成的密钥对没有绑定到指定阿里云ECS服务器,或者绑定了但是没有重启正在运行的阿里云服务器,也可能是阿里云服务器ssh目录及其下面的文件权限配置不正确导致的,另外不正确的登陆方式可能导致使用密钥登陆失败,下面就针对以上问题做出具体的解决方案

  问题一:阿里云服务器没有开启密钥登陆功能导致登陆失败

  1. 首先通过远程连接登录阿里云Linux实例。

  2. 登录Linux后,如下图所示,使用命令vim /etc/ssh/sshd_config进入配置文件,找到配置文件中的PubkeyAuthentication选项应该为注释或者为yes不能为no(该选项默认是注释并开启的)如果发现该选项参数为no则需要更改为yes,另外AuthorizedKeysFile选项需要与下图保持一致

  

  问题二:使用阿里云控制台密钥对没有绑定到指定阿里云ECS服务器

  1. 如下图所示创建密钥对时会提示下载密钥用来免密登陆,另外需要点击右侧栏“绑定密钥对”将密钥绑定到指定服务器后并重启服务器才能生效(登录ECS管理控制台。在左侧导航栏,单击网络与安全 > 密钥对。在顶部状态栏左上角处,选择地域。找到需要操作的密钥对,在操作列中,单击绑定密钥对。在选择ECS实例栏中,选中需要绑定该密钥对的ECS实例名称,单击>图标,移入已选择栏中。如果选择ECS实例栏中的ECS实例名称显示为灰色,表示该实例为Windows实例,不支持SSH密钥对。)

  

  说明:如果ECS实例处于运行中(Running)状态,重启实例使操作生效:

  在左侧导航栏,单击实例与镜像 > 实例。

  找到需要操作的实例,在操作列中,选择更多 > 实例状态 > 重启。

  在重启实例弹窗中,单击确定。

  说明:如果您在绑定密钥对之后想使用密码方式登录实例,可以通过重置实例密码实现。如果在绑定密钥对之后重置了实例密码,使用密钥对方式和使用密码方式均能登录实例。

  问题三:ssh目录和authorized_keys文件权限配置不正确

  1.如下图所示使用ls -al /root命令查看.ssh目录权限是否为700即标记处所示,如果不为700需要使用“chmod 700 .ssh”命令将目录权限改为700 ,另外需要使用lsattr命令核实.ssh目录下的authorized_keys文件是否被增加了i属性,下图标记处为正常,如果有需要使用chattr -i命令去掉该属性,同样要确保authorized_keys文件权限为600,如果不为600需要修改为600,下图标记处为正常权限

  

  问题四:使用密钥对的登陆方式不正确导致无法登陆阿里云服务器

  1. 使用密钥对登陆服务器,如果使用的是控制台生成的密钥对则可以直接如下图所示在命令行中使用“ssh -i 私钥 用户名@服务器公网IP”命令登陆服务器,如果使用模拟终端登陆时需要选择从控制台下载的.pem密钥文件。

  

  2. 如果是使用自己生成的密钥对文件则需要将生成的公钥文件内容导入到.ssh目录下的authorized_keys文件中,然后在使用1步骤免密登陆阿里云服务器即可。

  说明:如果您的使用的是阿里云密钥对,且密钥对由ECS生成,那么在首次生成密钥对时,请务必下载并妥善保存私钥。当该密钥对绑定某台实例时,如果没有私钥,您将无法登录实例。

联系客服免费领取更多阿里云产品新购、续费升级折扣,叠加官网活动折上折更优惠