AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / ubuntu / 问题 / 739164
Accepted
jackaraz
jackaraz
Asked: 2016-02-26 15:39:12 +0800 CST2016-02-26 15:39:12 +0800 CST 2016-02-26 15:39:12 +0800 CST

ssh 连接被拒绝

  • 772

嗨,我的 ssh 出现问题,它神奇地停止工作,我不知道为什么。它给出的信息是:

ssh: connect to host <host> port 22: Connection refused

我写的时候没有看到任何错误消息,dmesg但我正在关注telnet localhost 22

Trying 127.0.0.1...
telnet: Unable to connect to remote host: Connection refused

我尝试了在一些类似案例[1]和[2]中看到的解决方案,但仍然没有解决我的问题,条目和输出如下:

>> sudo iptables -A INPUT -p tcp --dport ssh -j ACCEPT
>> sudo iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination         
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:ssh

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination  

请注意,这已经接受了,即使在输入命令之前我也没有任何问题sudo iptables -A INPUT -p tcp --dport ssh -j ACCEPT。我也尝试重新启动 ssh 但它没有改变任何东西

>>netstat -a | egrep 'Proto|LISTEN'
Proto Recv-Q Send-Q Local Address           Foreign Address         State      
tcp        0      0 localhost:20128         *:*                     LISTEN     
tcp        0      0 localhost:17600         *:*                     LISTEN     
tcp        0      0 localhost:20129         *:*                     LISTEN     
tcp        0      0 localhost:17603         *:*                     LISTEN     
tcp        0      0 localhost:21128         *:*                     LISTEN     
tcp        0      0 deathstar:domain        *:*                     LISTEN     
tcp        0      0 localhost:ipp           *:*                     LISTEN     
tcp        0      0 *:db-lsp                *:*                     LISTEN     
tcp6       0      0 ip6-localhost:ipp       [::]:*                  LISTEN     
tcp6       0      0 [::]:db-lsp             [::]:*                  LISTEN 

我不知道还能尝试什么,所以希望这足以解决问题。

在@Ashu 的评论之后添加了休息

sudo lsof -i | grep ssh

没啥事儿

>>netstat -l --numeric-ports | grep 22
unix  2      [ ACC ]     STREAM     LISTENING     1618183  @jack-com.canonical.Unity.Master.Scope.files.T1731348652205882

>>sudo iptables --list
Chain INPUT (policy ACCEPT)
target     prot opt source               destination         
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:ssh

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination 

在@TheSchwa 的评论之后编辑

>>ps aux | grep sshd
jack      3711  0.0  0.0  15944  2220 pts/26   S+   14:08   0:00 grep --color=auto sshd
networking
  • 9 9 个回答
  • 145376 Views

9 个回答

  • Voted
  1. Best Answer
    jackaraz
    2016-02-27T14:04:58+08:002016-02-27T14:04:58+08:00

    我首先尝试删除并重新安装 ssh,但它对我不起作用,然后我尝试清除它:

    sudo apt-get purge openssh-server
    sudo apt-get install openssh-server
    

    所以现在它的工作。

    • 27
  2. sмurf
    2016-02-26T16:04:37+08:002016-02-26T16:04:37+08:00

    TCP 错误“连接被拒绝”表示此 IP 地址上存在活动主机,但您尝试连接的端口(ssh 为 22)未打开。

    首先仔细检查您的主机名和/或 IP 地址。

    最可能的原因是有人停止了 ssh 守护程序,或者有人将其配置为使用替代端口而不是默认的 22。

    如果您对服务器有物理访问权限,请登录该服务器并输入 command sudo netstat -tupan。理想情况下,您应该看到如下一行:

    tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1053/sshd

    如果您不尝试启动 sshd 和/或检查它是否配置为侦听端口 22。

    编辑

    需要关注的位是:

    :22- 端口 22

    LISTEN- 有一个进程正在运行并期待端口 22 上的传入连接

    sshd- 进程的名称。

    如果您看不到这样的行,那么您的 ssh 服务器可能配置错误并且无法启动。尝试此页面以获取有关如何在前台运行它并对其进行故障排除的说明。

    • 6
  3. Faisal Md. Jiaur Rahman
    2016-03-16T01:32:30+08:002016-03-16T01:32:30+08:00

    由于以下原因,SSH 连接被拒绝 -

    1. 默认端口(22)已更改为其他内容。检查您的 /etc/ssh/sshd_config 文件是否有任何端口更改。

    2. LAN 上的 IP 冲突。使用 arping 命令确定任何冲突。查看您的 dhcp 池。

    3. ip-tables/firewall 上不允许使用 ssh 端口。检查您的 iptables/防火墙并允许。

    *卸载/重新安装 ssh 包不是一个好主意,因为它会更改许多密钥并通过。

    • 3
  4. fiprojects
    2016-02-27T11:27:31+08:002016-02-27T11:27:31+08:00

    您的服务器防火墙配置为打开端口,但没有任何东西在监听以响应您的连接。

    您需要安装 sshd(ssh 守护进程)并运行...

    https://help.ubuntu.com/community/SSH/OpenSSH/Configuring

    • 2
  5. upbeta01
    2016-02-26T16:07:09+08:002016-02-26T16:07:09+08:00

    导致此问题的最常见问题之一是 sshd 服务本身。你检查它是否真的在运行?另外,我注意到你正在直接编辑你的 iptables,所以如果你有 ufw/firewalld 运行——不妨检查一下。

    还要确保 ssh 服务器正在运行正确的 IP,并且 FQDN 正在路由到正确的 IP 地址。

    • 1
  6. krysits
    2018-11-21T06:07:33+08:002018-11-21T06:07:33+08:00

    您必须像这样创建缺少的目录

    mkdir /var/run/sshd
    chmod 0755 /var/run/sshd
    

    然后启动有故障的 shh 服务器:

    service ssh start
    

    就是这样!

    • 1
  7. Mr Heelis
    2020-02-05T13:03:11+08:002020-02-05T13:03:11+08:00

    我有这个是因为我没有sudo ufw allow ssh我只有sudo ufw allow 22这还不够

    [root@fakeser ~]# ufw status
    Status: active
    
    To                         Action      From
    --                         ------      ----
    22 on eth1                 ALLOW       Anywhere        
    Nginx HTTP                 ALLOW       Anywhere        
    Nginx HTTPS                ALLOW       Anywhere        
    22 (v6) on eth1            ALLOW       Anywhere (v6)   
    Nginx HTTP (v6)            ALLOW       Anywhere (v6)   
    Nginx HTTPS (v6)           ALLOW       Anywhere (v6)   
    

    以上没有工作

    下面的工作

    [root@fakeser ~]# ufw allow ssh
    Rule added
    Rule added (v6)
    [root@fakeser ~]# ufw status
    Status: active
    
    To                         Action      From
    --                         ------      ----
    22 on eth1                 ALLOW       Anywhere        
    Nginx HTTP                 ALLOW       Anywhere        
    Nginx HTTPS                ALLOW       Anywhere        
    22/tcp                     ALLOW       Anywhere        
    22 (v6) on eth1            ALLOW       Anywhere (v6)   
    Nginx HTTP (v6)            ALLOW       Anywhere (v6)   
    Nginx HTTPS (v6)           ALLOW       Anywhere (v6)   
    22/tcp (v6)                ALLOW       Anywhere (v6)   
    
    • 1
  8. ZeitPolizei
    2022-04-13T17:22:58+08:002022-04-13T17:22:58+08:00

    另一个可能的问题:客户端网络的路由器阻止了 SSH 连接。我的电脑自动连接到我们的客人 Wi-Fi,切换回常规 Wi-Fi 解决了这个问题。如果您使用的是公共 Wi-Fi,这也可能是一个问题。

    • 0
  9. Agrover112
    2022-09-12T10:00:54+08:002022-09-12T10:00:54+08:00

    在某些情况下,我注意到需要手动重新启动 ssh 进程 sudo apt install openssh sudo service ssh start

    • 0

相关问题

  • 如何设置 VLAN 转发?

  • 如何将主机 Ubuntu 上的 VPN (tun0) 网络适配器映射到 VirtualBox 来宾 Windows?

  • 如何限制下载/上传带宽?

  • 如何通过 Windows 网络共享文件?

  • 面板小程序以文本形式显示当前网络流量?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何运行 .sh 脚本?

    • 16 个回答
  • Marko Smith

    如何安装 .tar.gz(或 .tar.bz2)文件?

    • 14 个回答
  • Marko Smith

    如何列出所有已安装的软件包

    • 24 个回答
  • Marko Smith

    无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗?

    • 25 个回答
  • Martin Hope
    Flimm 如何在没有 sudo 的情况下使用 docker? 2014-06-07 00:17:43 +0800 CST
  • Martin Hope
    Ivan 如何列出所有已安装的软件包 2010-12-17 18:08:49 +0800 CST
  • Martin Hope
    La Ode Adam Saputra 无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗? 2010-11-30 18:12:48 +0800 CST
  • Martin Hope
    David Barry 如何从命令行确定目录(文件夹)的总大小? 2010-08-06 10:20:23 +0800 CST
  • Martin Hope
    jfoucher “以下软件包已被保留:”为什么以及如何解决? 2010-08-01 13:59:22 +0800 CST
  • Martin Hope
    David Ashford 如何删除 PPA? 2010-07-30 01:09:42 +0800 CST

热门标签

10.10 10.04 gnome networking server command-line package-management software-recommendation sound xorg

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve