一、问题现象:

错误提示如下:CentOS出现连接被拒--ssh:connect to host localzly (自己的主机名)port 22: Connection refused

 

 

二、问题原因:  

我在配置ssh免登录时候出现该问题,其错误原因主要有以下几种:

  1)SSH服务未安装

    此时,采用在线安装的方式就行下载安装。

        命令为:          yum -y install openssh-server;

        然后启动ssh服务:    service sshd start。

  2)ssh服务对应22号端口未开启

    ss -lnt :使用该命令查询22号端口是否开启,如果为下图所示为正常开启,

 

    否则要先开启22号端口。 

    如果要修改端口,查看或编辑SSH服务配置文件,使用命令 vi /etc/ssh/sshd.config,进入后把 port 后面默认的22端口改成别的端口即可(注意前面的#号要去掉)。

  3)还有一种特殊情况:以上两点都没有问题,并且执行ssh localhost命令也没有问题,但执行ssh hostname(hostname为你自己的主机名)命令时出错。(此时,我们可以思考为什么用localhost没有问题,而用我们的主机名却有问题?注意看下图第一行配置,有个127.0.0.1到localhost的映射;于是,我们可以思考是否是因为我们没有配置IP地址到我们的主机的映射呢?)

      出现这种情况就是因为我们没有在hosts文件中进行相应的配置,应该在其中加入hostname与IP地址的映射关系:(如果存在就看看是否ip错误!!!!!

vi /etc/hosts     或(vim /etc/hosts)

 

 

 

    最后,输入ssh (我的hostname),然后出现了以下内容,表示我们的问题得到了解决。

 

 

 

三、其他问题排查:

       还需要开启ssh服务,需要使用命令sudo /etc/init.d/ssh start开启ssh。

       如果出现以下的错误:
在这里插入图片描述

       需要在命令行输入ssh-keygen -A 产生公钥key,然后再开启ssh服务即可。

总之,

步骤是先安装openssh-server
然后通过sudo /etc/init.d/ssh start开启服务
如果有问题需要产生key,使用命令ssh-keygen -A

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐