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 在某些系统上)来使配置更改生效。

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值