Linux的SSH无法连接 报错ssh: connect to host 192.168.40.128 port 22: Connection refused

首先检查是否关闭防火墙

1
sudo ufw statusStatus: inactive

ping一下能否ping通

重启ssh服务

1
sudo /etc/init.d/ssh restart

报错sudo: /etc/init.d/ssh:找不到命令

安装ssh服务

1
sudo apt-get install ssh

再次重启ssh服务

1
sudo /etc/init.d/ssh restart

ssh依然无法连接,于是检查ssh运行状态

1
systemctl status sshd.servicesystemctl status sshd.socket

发现sshd.socket不在运行

切换 sshd 的 socket 服务与 service 服务
如果目前使用的是 sshd.socket 服务,而想切换至 sshd.service 服务,可以执行如下命令:

1
systemctl disable sshd.socketsystemctl enable sshd.servicesystemctl stop sshd.socket; systemctl start sshd.service

如果目前使用的是 sshd.service 服务,而想切换至 sshd.socket 服务,可以执行如下命令:

1
systemctl disable sshd.servicesystemctl enable sshd.socketsystemctl stop sshd.service; systemctl start sshd.socket