昨天又重新装了一个虚拟机,使用的是Linux的Ubuntu18.04系统,但是在装好以后发现无法用root进行远程连接,才想起原因:一、没有开启远程连接的服务;二、没有没有设置root用户的密码。下面,我将会详细介绍一下我是如何解决这两个问题的。
第一步 设置root用户
首先我们在普通用户模式下打开终端,输入下列命令
sudo passwd root
首先输入当前用户密码,在想要设置的输入root密码,重复。
请记住你输入的密码!!!
vim /etc/pam.d/gdm-autologin
# 找到auth required pam_succeed_if.so user != root quiet_success这句话
# 按i进入编辑模式在这句话前面加#注释掉,按ESC键退出编辑模式,按:wq!保存退出
vim /etc/pam.d/gdm-password
# 找到auth required pam_succeed_if.so user != root quiet_success这句话,注释然后保存
vim /root/.profile
# 直接跳到最后一句话,然后修改为tty -s && mesg n || true
如果没有安装vim,可以使用gedit等软件打开,也可以使用如下命令安装
sudo apt install vim
改完以后的.profile文件应如下图
这时我们就可以进入下一步:重启虚拟机。
第二步 使用远程连接
1、检查ssh是否开启
ps -e | grep ssh
# 如果开启,结果应类似下面,有sshd和ssh
1190 ? 00:00:00 sshd
2456 ? 00:00:00 sshd
3917 ? 00:00:00 ssh-agent
# 其中sshd表示ssh-server已启动,ssh表示ssh-client已启动
如果ssh开启,可以直接跳到最后一步,查看地址,进行远程连接,如果没有还请继续阅读
2、安装SSH服务
使用下列两条命令安装ssh-server、ssh-client
sudo apt-get install openssh-client
sudo apt-get install openssh-server
3、启动SSH服务
使用下列命令启用ssh服务
sudo /etc/init.d/ssh start
使用命令查看
ps -e | grep ssh
如果结果与第一步的相同,则没问题
4、查看IP,进行远程连接
输入下列命令,找到如下图红框内的地址,即为你可以进行远程连接的地址。
ifconfig
如果你进行远程连接还连接不上,可以尝试以下命令
vim /etc/ssh/sshd_config
# 将PermitRootLogin项改为yes
# 重启服务
service sshd restar
参考文章:
1.Ubuntu18.04开启root账户
2.Ubuntu环境下SSH服务安装、SSH远程登录以及SSH数据传输