ubuntu无法ssh远程,提示'Permission denied (publickey)'的解决方法

 更新时间:2025年04月19日 15:29:34   作者:蜜蜂不采蜜  
SSH(Secure Shell)是一种加密的网络协议,用于在网络上安全地传输数据,它被广泛用于远程登录和执行命令,有时候使用SSH登录时,可能会遇到错误消息Permission denied (publickey)导致登录失败,这种情况可能由多种原因引起,将探讨导致SSH登录失败的可能性,并提供解决方案

最近有小伙伴在使用ubuntu远程的时候一直无法远程,刚开始以为时openssh的问题,升级完openssh之后,再次远程时还是提示以下报错。

ubuntu系统ssh远程的时候提示

原因分析

SSH(Secure Shell)是一种加密的网络协议,用于在网络上安全地传输数据。它被广泛用于远程登录和执行命令。然而,有时候当我们尝试使用SSH登录时,可能会遇到错误消息Permission denied (publickey)导致登录失败。这种情况可能由多种原因引起。在本文中,我们将探讨导致SSH登录失败的可能性,并提供解决方案。

1. SSH密钥不匹配

这是最常见的原因之一。当SSH客户端尝试使用公钥进行身份验证时,如果公钥与服务器上的私钥不匹配,就会导致登录失败。为了解决这个问题,您需要确保在服务器上正确配置了公钥,并且客户端使用的私钥与之匹配。

2. SSH密钥权限不正确

另一个可能性是私钥文件的权限不正确。私钥文件应该只能被所有者读取和写入,否则SSH客户端会拒绝使用它进行身份验证。您可以使用以下命令更改私钥文件的权限:

chmod 600 ~/.ssh/id_rsa

3. SSH服务配置错误

有时候,SSH服务器的配置可能导致登录失败。确保SSH服务器配置正确,并且允许使用密码和公钥进行身份验证。您可以检查SSH服务器的配置文件(通常是/etc/ssh/sshd_config)并确保以下3个选项被如下正确设置:

PubkeyAuthentication yes

# To disable tunneled clear text passwords, change to no here!
PasswordAuthentication yes

# Change to yes to enable challenge-response passwords (beware issues with
# some PAM modules and threads)
KbdInteractiveAuthentication yes

重启ssh服务:sudo systemctl restart sshd

4. 公钥未添加到服务器的authorized_keys文件中

如果您的公钥未添加到服务器的authorized_keys文件中,那么SSH服务器将无法验证您的身份。您可以使用以下命令将本地公钥添加到服务器的authorized_keys文件中:

ssh-copy-id ubuntu@10.184.193.115

或,直接copy本地的公钥到服务器的authorized_keys文件中,且确保文件权限如下:

-rw------- 1 ubuntu ubuntu 1155 Mar 14 08:51 .ssh/authorized_keys

5. SSH密钥损坏

最后一种可能性是SSH密钥本身损坏。如果您怀疑密钥已损坏,可以尝试生成一个新的密钥对,并将公钥添加到服务器上。
以下命令用于产生密钥:

解决方法:

1.登录现在无法ssh远程的这台主机,打开sshd的配置文件,找到PasswordAuthentication这行。

 vi /etc/ssh/sshd_config

ubuntu系统ssh远程的时候提示

2.将PasswordAuthentication no这行的no改为yes或者直接注释调这一行(蜜蜂这里就直接注释了)

ubuntu系统ssh远程的时候提示

3.重启sshd服务

sudo systemctl restart sshd

ubuntu系统ssh远程的时候提示

4.回到之前的10.42.251.150机器后再次ssh 10.42.251.150此时可以正常连接上了:

ubuntu系统ssh远程的时候提示

总结

到此这篇关于ubuntu无法ssh远程,提示'Permission denied (publickey)'的解决方法的文章就介绍到这了,更多相关ssh远程,提示'Permission denied (publickey)'内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • centOS7下Spark安装配置教程详解

    centOS7下Spark安装配置教程详解

    这篇文章主要介绍了centOS7下Spark安装配置教程详解,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2018-07-07
  • CentOS7.4开机出现welcome to emergency mode的解决方法

    CentOS7.4开机出现welcome to emergency mode的解决方法

    CentOS7.4开机出现welcome to emergency mode,报这个错误多数情况下是因为/etc/fstab文件的错误。注意一下是不是加载了外部硬盘、存储器或者是网络共享空间,在重启时没有加载上导致的
    2018-09-09
  • Linux防火墙iptables添加白名单方式

    Linux防火墙iptables添加白名单方式

    这篇文章主要介绍了Linux防火墙iptables添加白名单方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-06-06
  • apache服务器全局配置详解(全)

    apache服务器全局配置详解(全)

    apache服务器全局配置详解,介绍很多关于服务器相关的一些知识,用apache架设服务器的朋友可以收藏下
    2013-03-03
  • Linux的用户组与权限用法及说明

    Linux的用户组与权限用法及说明

    这篇文章主要介绍了Linux的用户组与权限用法及说明,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-07-07
  • Linux zabbix agent部署及配置方法详解

    Linux zabbix agent部署及配置方法详解

    这篇文章主要介绍了Linux zabbix agent部署及配置方法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-08-08
  • Linux切换用户环境变量消失问题及解决

    Linux切换用户环境变量消失问题及解决

    这篇文章主要介绍了Linux切换用户环境变量消失问题及解决,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-08-08
  • linux如何为一台实例分配一个公网IP地址

    linux如何为一台实例分配一个公网IP地址

    在本篇文章中我们给大家分享了一篇关于linux如何为一台实例分配一个公网IP地址的知识内容,有需要的朋友们学习下。
    2018-10-10
  • 详解Linux文本文件与WIN文本文件换行格式转换命令

    详解Linux文本文件与WIN文本文件换行格式转换命令

    这篇文章主要介绍了详解Linux文本文件与WIN文本文件换行格式转换命令的相关资料,需要的朋友可以参考下
    2017-02-02
  • ubuntu下迅雷极速版的安装与使用

    ubuntu下迅雷极速版的安装与使用

    Ubuntu是一个完全基于Linux的操作系统,它不但免费,而且有专业人员和业余爱好者共同为其提供技术支持。迅雷极速版的推出吸引了众多追求速度的网友关注。那么这篇文章我们就来学习下在ubuntu下迅雷极速版与QQ旋风的安装与使用,有需要的朋友们下面来一起看看吧。
    2016-10-10

最新评论