今天本来想在A服务器上传文件给B服务器的结果发现明明给root用户设置了密码就是远程登陆不了,后来才发现在容器中很多服务都是没有的,所以刚安装后忘记了修改配置文件,导致远程登陆失败。
报错:
解决方法:
在/etc/ssh/sshd_config配置文件中添加PermitRootLogin yes和PasswordAuthentication yes
记得重启sshd服务
systemctl restart sshd
修改后成功登陆
知识点
PermitRootLogin yes
PermitRootLogin yes
表示允许以root用户身份通过SSH协议远程登录到服务器。当设置为 yes
时,root用户可以使用其密码或公钥认证方式(如SSH密钥对)来远程登录。在许多Linux发行版中,出于安全考虑,初始默认设置可能会禁用root用户的远程登录,即配置为 PermitRootLogin no
。
启用此选项需谨慎,因为直接允许root用户远程登录通常被认为是安全隐患,因为root用户具有对系统的完全控制权。如果必须允许root登录,强烈建议配合其他安全措施,比如:
PubkeyAuthentication
和 PasswordAuthentication
设置实现)。AllowUsers
或 DenyUsers
设置)。PasswordAuthentication yes
PasswordAuthentication yes
指定SSH服务器接受基于密码的用户身份验证。当设置为 yes
,用户可以通过输入他们的账户密码来完成SSH登录过程。如果设置为 no
,则仅允许使用非密码方法(如公钥认证)进行登录。
启用密码认证也应考虑到安全风险,因为弱密码或密码泄露可能导致未经授权的访问。为了增强安全性,可以采取以下措施:
综上所述,在 /etc/ssh/sshd_config
文件中设置 PermitRootLogin yes
和 PasswordAuthentication yes
是为了允许root用户通过密码远程登录到服务器。但请注意,这样做会降低系统的整体安全性,应在充分理解风险并采取适当补偿措施的前提下进行。完成配置更改后,通常需要执行 systemctl restart sshd
(或 service sshd restart
在某些系统上)来使配置更改生效。