linux ssh连接失败问题排查

ssh连接失败问题排查

原因总述

前提先ping通,ping不通原因本文不讲述。

原因:

  1. ssh工具存在问题
  2. ssh 服务没有起来
  3. ssh端口号不是默认值
  4. 防火墙拦截

ssh工具存在问题


判断SSH是否已安装,你可以使用以下命令:

  1. 检查SSH客户端

    ssh -V

    如果SSH客户端已安装,你会看到类似于以下的输出:

    OpenSSH_8.2p1, OpenSSL 1.1.1f 31 Mar 2020

  2. 检查SSH服务器

    sudo systemctl status ssh

    如果SSH服务器已安装并运行,你会看到类似于以下的输出:

    ● ssh.service - OpenBSD Secure Shell server Loaded: loaded (/lib/systemd/system/ssh.service; enabled; vendor preset: enabled) Active: active (running) since Wed 2024-09-04 08:00:00 UTC; 40min ago

  3. dpkg查询

    dpkg -l | grep openssh-server

    如果SSH服务器已安装,你会看到类似于以下的输出:

    ii openssh-server 1:8.2p1-4ubuntu0.3 amd64 secure shell (SSH) server, for secure access from remote machines


ssh服务查看

sudo systemctl status ssh

如果已经安装,但是显示 ssh.service not found,则大概率是安装的ssh服务存在问题,需要重新安装。

如果SSH服务器已安装并正常运行,你会看到类似于以下的输出:

● ssh.service - OpenBSD Secure Shell server Loaded: loaded (/lib/systemd/system/ssh.service; enabled; vendor preset: enabled) Active: active (running) since Wed 2024-09-04 08:00:00 UTC; 40min ago


ssh安装

命令如下:

#卸载
sudo apt remove --purge openssh-server;

#安装
sudo apt update; sudo apt install -y openssh-server `

ssh 服务没有起来

  1. 检查SSH服务名称:

    sudo systemctl list-units --type=service | grep ssh

    这将列出所有包含“ssh”的服务名称。确认正确的服务名称。

  2. 查询服务

    sudo systemctl status ssh

  3. 启动服务

    sudo systemctl start ssh

  4. 重启服务

    sudo systemctl restart ssh

  5. 开机启动服务

    sudo systemctl enable ssh

ssh端口号查询

要查看SSH服务使用的端口号,可以使用以下命令:

sudo lsof -i -n -P | grep ssh 

这将列出所有与SSH相关的网络连接及其端口号。如果SSH服务正在运行,你应该能看到类似于以下的输出:

sshd    1234    root    3u  IPv4  0x12345678  0t0  TCP *:22 (LISTEN) 

其中22是SSH服务的默认端口号。

防火墙拦截

至于防火墙检测和拦截的端口,可以使用iptables查看防火墙规则:

对于iptables

sudo iptables -L -n -v

允许22端口通过防火墙

sudo ufw allow 22

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值