出于安全考虑,创建云服务器时因为初始是root用户登录,通常我们选择用密钥方式登录;服务器使用过程中一般会创建普通用户而不直接使用root用户,每个用户都使用密钥方式比较麻烦,特别是在不常用的终端登录时,所以通常还是使用用户名密码方式登录,但阿里云的Ubuntu系统默认禁止了ssh用户名密码登录,需要修改ssh服务端配置,方法如下:
编辑/etc/ssh/sshd_config:
vi /etc/ssh/sshd_config
将
PasswordAuthentication no
修改为
PasswordAuthentication yes
重启ssh服务
systemctl restart sshd
此时root用户还是无法用密码登录,因为root用户初始未设置密码,一般也不建议root用户使用密码登录;若要root用户通过密码登录,需要先为root用户设置密码
passwd root
设置密码后root用户也可以通过用户名密码登录服务器了。
允许root用户使用密码登录是很不安全的,违背了一开始选择用密钥方式登录的初衷,如果需要为root用户设置密码又不想root用户通过密码远程登录,可以修改ssh服务端配置,禁止root用户使用密码登录ssh
vi /etc/ssh/sshd_config
将
PermitRootLogin yes
修改为
PermitRootLogin prohibit-password
重启ssh服务
systemctl restart sshd