Xshell连接 Ubuntu 虚拟机,connection failed 和 ssh 服务器拒绝了密码 解决方案

时间:2024-05-20 20:04:52

一、Connection failed 解决方案

  Ubuntu 默认没有安装 ssh 服务,若通过 ssh 远程连接 Ubuntu,则会报如下错误:

  Xshell连接 Ubuntu 虚拟机,connection failed 和 ssh 服务器拒绝了密码 解决方案

  此时,需要自己手动安装 openssh-server,且 ssh 分为:客户端openssh-client 、服务端openssh-server。

  通过命令ssh localhost可以查看虚拟机中是否安装了 ssh 服务。

  结果如下所示:

  Xshell连接 Ubuntu 虚拟机,connection failed 和 ssh 服务器拒绝了密码 解决方案

  很明显,虚拟机中没有 ssh 服务。接下来通过 apt-get 源安装 ssh。若提示找不到可安装选项,可先更新下 apt-get,即sudo apt-get update,然后再执行如下命令进行安装。
  命令:sudo apt-get install -y openssh-server

  Xshell连接 Ubuntu 虚拟机,connection failed 和 ssh 服务器拒绝了密码 解决方案
  检查是否安装成功。此时,已经安装成功,且正常启动了。

  Xshell连接 Ubuntu 虚拟机,connection failed 和 ssh 服务器拒绝了密码 解决方案

二、ssh 服务器拒接了密码

  当我们在虚拟机上成功安装了 ssh 服务后,此时Xshell 远程连接时,不会出现 connection failed,但出现了 ssh 服务器拒绝了密码,如下所示。

  Xshell连接 Ubuntu 虚拟机,connection failed 和 ssh 服务器拒绝了密码 解决方案
  解决方案:

  1)第一种方法,也是最常规的一种。sshd的设置不允许root用户用密码远程登录。将PermitRootLogin 参数改为 PermitRootLogin yes即可。

  Xshell连接 Ubuntu 虚拟机,connection failed 和 ssh 服务器拒绝了密码 解决方案
  2)第二种方法,直接暴力重启电脑。

  3)第三种,若前面两种都不行,则改用此方法。在 /etc/ssh/sshd_config文件中找到该内容,并将 UsePAM 改为 no

  Xshell连接 Ubuntu 虚拟机,connection failed 和 ssh 服务器拒绝了密码 解决方案

  在执行上述三种方法中的一种之后,重启下服务即可。
  命令:sudo service ssh restart