• ERROR: Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password).


           今天本来想在A服务器上传文件给B服务器的结果发现明明给root用户设置了密码就是远程登陆不了,后来才发现在容器中很多服务都是没有的,所以刚安装后忘记了修改配置文件,导致远程登陆失败。

    报错:

    解决方法:

    /etc/ssh/sshd_config配置文件中添加PermitRootLogin yesPasswordAuthentication yes

    记得重启sshd服务

    systemctl restart sshd
    

    修改后成功登陆

    知识点

    PermitRootLogin yes

    PermitRootLogin yes 表示允许以root用户身份通过SSH协议远程登录到服务器。当设置为 yes 时,root用户可以使用其密码或公钥认证方式(如SSH密钥对)来远程登录。在许多Linux发行版中,出于安全考虑,初始默认设置可能会禁用root用户的远程登录,即配置为 PermitRootLogin no

    启用此选项需谨慎,因为直接允许root用户远程登录通常被认为是安全隐患,因为root用户具有对系统的完全控制权。如果必须允许root登录,强烈建议配合其他安全措施,比如:

    • 使用强密码或只允许基于公钥的身份验证(通过修改 PubkeyAuthentication 和 PasswordAuthentication 设置实现)。
    • 限制可访问IP范围(通过 AllowUsers 或 DenyUsers 设置)。
    • 启用防火墙规则和入侵检测系统。
    • 定期更新系统和软件以防止已知漏洞被利用。

    PasswordAuthentication yes

    PasswordAuthentication yes 指定SSH服务器接受基于密码的用户身份验证。当设置为 yes,用户可以通过输入他们的账户密码来完成SSH登录过程。如果设置为 no,则仅允许使用非密码方法(如公钥认证)进行登录。

    启用密码认证也应考虑到安全风险,因为弱密码或密码泄露可能导致未经授权的访问。为了增强安全性,可以采取以下措施:

    • 要求所有用户使用强密码,并定期更换。
    • 配置SSH服务器使用公钥认证作为首选方法,同时保留密码认证作为备用(对于某些用户可能更方便)。
    • 如果可能,启用双因素认证(2FA)以增加额外的安全层。

    综上所述,在 /etc/ssh/sshd_config 文件中设置 PermitRootLogin yesPasswordAuthentication yes 是为了允许root用户通过密码远程登录到服务器。但请注意,这样做会降低系统的整体安全性,应在充分理解风险并采取适当补偿措施的前提下进行。完成配置更改后,通常需要执行 systemctl restart sshd (或 service sshd restart 在某些系统上)来使配置更改生效。

  • 相关阅读:
    HTTP与HTTPS的区别及HTTPS如何安全的传输数据
    java基于springboot+vue的疫情网课管理系统 elementui
    Vue业务组件封装(二)Form表单
    mac vscode 使用 clangd
    服务器监控软件(二 、具体安装篇)
    vue3 elmentPlus table实现列宽可拖拽
    webpack拓展篇(六十七):webpack5 新特性解析
    arduino的包含库文件定义配合vsCode查看最初定义
    NPDP产品经理证书是什么行业的证书?
    在vue使用wangEditor(简单使用)
  • 原文地址:https://blog.csdn.net/weixin_72610956/article/details/138157853