新虚机与旧虚机ping的通,crt却无法连接

122 阅读2分钟

1.背景

由于验证代码需要ubuntu的linux环境,公司内都是centos,需要重新装个新环境

2.vm安装使用的VMware Workstation Player即精简版(免费),非VMware Workstation Pro版

ubuntu用的22.10 amd64版本

3.在安装上ubuntu后可以正常使用,但用crt却无法连接

排错过程:

3.1.端口问题,一开始以为默认不是22,后发现是22

3.2.防火墙问题,一开始认为是防火墙导致的,执行指令sudo ufw status 发现状态是inactive,而非active,表示防火墙状态是关闭的,没影响

3.3.ssh问题,在最开始排查,执行ps -ef|grep ssh

看到了ssh-agent正在运行,以为没有问题。

之后排查,判断是否安装ssh服务,可以通过如下命令进行:

ssh localhost

ssh: connect to host localhost port 22: Connection refused

表示没有还没有安装,可以通过apt安装,命令如下:

sudo apt-get install openssh-server 我通过这步已经安装成功了,后边的指令都没有使用

(若找不到安装包,先运行apt-get update,运行命令若出现E: 无法获得锁 /var/lib/apt/lists/lock - open (11: 资源暂时不可用)E: 无法对目录 /var/lib/apt/lists/ 加锁的问题,执行命令sudo rm /var/lib/apt/lists/lock即可。这是一种极端的情况,也就是在上次更新没有正常关闭的情况下使用。在大部分情况下,出现问题的原因在于其它的程序如系统的自动更新等正在使用apt-get进程,所以解决方法也就是将这一进程关闭。)

系统将自动进行安装,安装完成以后,先启动服务:

service ssh start

ssh start/running, process 3582

sudo /etc/init.d/ssh start

然后ps -ef|grep ssh 看下sshd是否存在,如下sshd进程已经存在,安装成功

4.原因分析

crt在连接虚机的时候,是通过ssh,而在安装ubuntu的时候,我没有安装ssh的服务端,即sshd程序,导致无法连接

补充“:ssh的客户端与服务端

Ubuntu默认并没有安装ssh服务

1.判断是否安装ssh服务,可以通过如下命令进行:

ps -e|grep ssh

输出如下:

root:~$ ps -e|grep ssh

2151 ? 00:00:00 ssh-agent------对应客户端

5313 ? 00:00:00 sshd------------对应服务器端

ssh-agent表示ssh-client启动,sshd表示ssh-server启动了。

2.如果缺少sshd,说明ssh服务没有启动或者没有安装。

安装ssh-client命令: Ubuntu apt-get install openssh-client Centos: yum install openssh-client

安装ssh-server命令:Ubuntu apt-get install openssh-server Centos: yum insatll openssh-server

3.安装完成以后,先启动服务: /etc/init.d/ssh start 或者ssh server start

启动后,可以通过“ps -e|grep ssh”查看是否正确启动。